Javascript 得到的输入框的所有值都相同

Javascript 得到的输入框的所有值都相同,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在创建一个更新表单。在这种情况下,当我点击更新按钮时,每次都会得到相同的值,这就是为什么更新功能不起作用的原因。我已经尝试使用输入框的ID属性获取值,但不起作用。我是这个领域的新手,这个任务需要很多时间。提前谢谢 $(document).ready(function() { $(".update").click(function() { var id = $(this).data('id'); var uname = $(".name1")

我正在创建一个更新表单。在这种情况下,当我点击更新按钮时,每次都会得到相同的值,这就是为什么更新功能不起作用的原因。我已经尝试使用输入框的ID属性获取值,但不起作用。我是这个领域的新手,这个任务需要很多时间。提前谢谢

$(document).ready(function() {               
  $(".update").click(function() { 
    var id = $(this).data('id');
    var uname = $(".name1").val();
    var email = $(".email1").val();                    

    $.post("operation.php", {
      ID: id,
      operation: 'update',
      name: 'uname',
      email: 'uemail'
    }, function(data) {
      $("#result").html(data);                   
    });               
  });
});
for($i=0;$i<$num\u of\u记录;$i++)
{
回声“;
回声;
}

Javascript需要从单击的按钮所在的行中选择输入

$(document).ready(function() {               
  $(".update").click(function() { 
    var row = $(this).closest("tr");
    var id = $(this).data('id');
    var uname = row.find(".name1").val();
    var email = row.find(".email1").val();                    

    $.post("operation.php", {
      ID: id,
      operation: 'update',
      name: 'uname',
      email: 'uemail'
    }, function(data) {
      $("#result").html(data);                   
    });               
  });
});

更好的解决方案是这样做, 我给你一个小例子,因为你的代码有点整洁

<?php
foreach($answers as $a)
{
?>
<a href="javascript:void(0)" data-answerid="<?php echo $a->id;?>" class="upvote_link" />Edit</a>
<?php
}
?>

如果您在执行此操作时遇到任何问题,请发表评论。您应该始终在html元素中编写唯一的id。Javascript应该知道特定的链接被点击了。

这是因为您的
id
s是相同的,所以jQuery会在第一个元素与该id匹配后立即停止搜索。 要防止这种情况发生,请使用.sibles()函数,如下所示:

$(document).ready(function() {               
  $(".update").click(function() { 
    var id = $(this).data('id');
    var uname = $(this).siblings(".name1").val();
    var email = $(this).siblings(".email1").val();                    

    $.post("operation.php", {
      ID: id,
      operation: 'update',
      name: 'uname',
      email: 'uemail'
    }, function(data) {
      $("#result").html(data);                   
    });               
  });
});

ID在HTML文档中必须是唯一的,所以只要循环经过多个迭代,就会创建无效的HTML。你首先要解决这个问题。你节省了我的时间。。。谢谢,先生:)
$(document).ready(function() {               
  $(".update").click(function() { 
    var id = $(this).data('id');
    var uname = $(this).siblings(".name1").val();
    var email = $(this).siblings(".email1").val();                    

    $.post("operation.php", {
      ID: id,
      operation: 'update',
      name: 'uname',
      email: 'uemail'
    }, function(data) {
      $("#result").html(data);                   
    });               
  });
});