【问题标题】:posting hidden input values in jquery through $post通过 $post 在 jquery 中发布隐藏的输入值
【发布时间】:2016-02-07 17:34:15
【问题描述】:

我有问题,看看我的代码:

HTML + php:

<?php foreach($result as $row) { ?>
<div class="col-md-3">
<input type="hidden" name="albumid" value="<?php echo $row['id']; ?>">
<a href="#?albumid=<?php echo $row['album_id']; ?>" class="thumbnail"id="this1">
        <img src="images/<?php echo $row['album_thumbnail']; ?>.jpg" alt="Pulpit Rock" style="width:245px;height:200px;">
        <p align="center" style="margin:0px;"><?php echo $row['album_description']; ?></p>
    </a>
    </div>
  <?php } ?

注意这个 $result 来自 sql, pdo 查询 jQuery:

$(document).ready(function(){
$('a#this1').click(function(){
    $("div.albums").hide();
    $("div.pics").show();
    var albumid = $("input[name=albumid]").val();
          $.post( "gallery-pics-temp.php",{ name: "Zara", albumid: albumid },function(data){ 
          $('p#myid').text(data);
          });
});
});

当我点击链接(id 为“this1”)时,jquery 中的 var albumid 始终具有相同的值,虽然通过 foreach 每个循环/行都有不同的albuid,但只有第一个 albumid 的值进入 'gallery-pics-临时.php'。请注意,foreach 循环正常工作并且有不同的值,但问题仅在于 jquery,即它发送相同的隐藏输入值 ($row['id'])

【问题讨论】:

  • 你需要分配不同的id而不是id = "this1"

标签: javascript php jquery pdo


【解决方案1】:

首先,您使用的是#this1 (id) 而不是类名。

input[name=albumid] 还读取第一个元素,而不是与单击的按钮相关的元素。

要查找专辑ID,您需要根据点击的按钮进行搜索,例如

var albumid = $(this).siblings('input[name=albumid]')

var albumid = $(this).prev('input[name=albumid]');

如果您不确定html的格式是否会保持不变,您可以使用以下代码:

var albumid = $(this).parents('div').find('input[name=albumid]');

【讨论】:

    猜你喜欢
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 2011-05-21
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多