Jquery只提交第一个元素

时间:2015-09-07 01:51:15

标签: javascript php jquery html

我正在尝试存储产品ID,但它只存储第一个元素。

$(document).ready(function() {
  $("#driver").live('click', function(event){
    var product = $("#product").val();
    $("#stage").load('add-exec.php', {"product":product} );
  });
});

这是列表

<?php

  $sql="SELECT * FROM products ORDER BY name ASC";
  $query=mysql_query($sql);

  while ($row=mysql_fetch_array($query)) {

?>
<tr>
  <td><?php echo $row['name'] ?></td>
  <td><?php echo $row['description'] ?></td>
  <td><?php echo $row['price'] ?>$</td>
  <td>
    <input type="hidden" id="product" value="<?php echo $row['id_product'] ;?>" /><br />
    <div id="stage"></div> 
    <input type="button" id="driver" value="Add" />
</tr>
<?php

  }

?>

1 个答案:

答案 0 :(得分:0)

喜欢说ID必须是唯一的。使用的类代替多个元素。改为这个解决方案:

// change id into class
<input type="hidden" class="product" value="<?php echo $row['id_product'] ;?>" />     <br />
 <div id="stage"></div> 
 // i added btnAdd class
<input type="button" class="driver btnAdd" value="Add" />

js应该是:

$(document).ready(function() {
    // attach click event on btnAdd class
    $(".btnAdd").live('click', function(event){
       // get product value using selector .prevAll(must be siblings)
       // and filter by it class
       var product = $(this).prevAll('.product').val();
       $("#stage").load('add-exec.php', {"product":product} );
    });
 });