.val()仅返回PHP数组

时间:2018-05-24 20:16:01

标签: javascript php jquery

我有一个PHP表单,用于更新来自数组的记录,我正在测试一个按钮,以显示出现的记录中的当前名称,但我的问题是第1行记录始终通过即使我点击我的数组中的另一行。

我有一个简单的表格:

<form id="update_form">
<div class="row">
<div class="col">
<label>Name</label>  
<input type="text" name="fnameupdate" id="fnameupdate" class="form-control fnameupdate" value="<?php echo $row['Firstname'] ?>" /> 
</div>
</div>
</form>
<button name="updaterecord" id="updaterecord" class="btn btn-success omhformupdate floatleft"><i class="material-icons floatleft">add_circle</i><div>Update Appointment</div></button>

单击该按钮时,这是被触发的事件:

    <script>  
 $(document).ready(function(){  
  $('.omhformupdate').click(function(){  

       var nameupdate = $('#fnameupdate').val();  
              window.alert(nameupdate);

        });  
    });  
</script>

警报确实会触发但是只有第一行会一直返回,即使已经选择了另一行,导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

首先,ID必须是唯一的,ID选择器只选择具有该ID的页面上的第一个元素。你应该使用类选择器。

其次,如果您希望输入的值在按钮之前,则需要使用DOM遍历方法来查找它,而不仅仅是具有该类的任何元素。

$(document).ready(function() {
  $('.omhformupdate').click(function() {

    var nameupdate = $(this).prev().find('.fnameupdate').val();
    window.alert(nameupdate);

  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="update_form">
  <div class="row">
    <div class="col">
      <label>Name</label>
      <input type="text" name="fnameupdate" id="fnameupdate" class="form-control fnameupdate" value="" />
    </div>
  </div>
</form>
<button name="updaterecord" id="updaterecord" class="btn btn-success omhformupdate floatleft"><i class="material-icons floatleft">add_circle</i><div>Update Appointment</div></button>