如何检查具有相同名称和ID的文本框中是否存在值?

时间:2016-07-30 10:01:53

标签: jquery ajax

是否有任何解决方案可以检查具有相同名称和ID的多个文本框中是否存在值?实际上我使用文本框在数据库中添加相同的值,我想检查是否存在任何值。请参阅下面的代码。

function check_availability() {

  var username = $('#pats_input').val();

  $.post("load.php", {
      pats: pats
    },
    function(result) {
      if (result == 1) {
        $("#display_availability").html(username + 'Is Available');
      } else {
        $("#display_availability").html(username + 'Is Not Available');
      }
    });
}
$pats = $_POST['pats'];
$select = mysql_query("SELECT pats FROM perstat WHERE pats='$pats'") or die(mysql_error());
$count = mysql_num_rows($select);
if ($count > 0) {
  echo 0;
} else {
  echo 1;
}

<input id="pats_input" class="pats_tb" type="text" name="pats[]" placeholder="Pats">
<input id="pats_input" class="pats_tb" type="text" name="pats[]" placeholder="Pats">
<input id="pats_input" class="pats_tb" type="text" name="pats[]" placeholder="Pats">
<div id="display_availability"></div>

1 个答案:

答案 0 :(得分:2)

  

具有相同 ID 的多个输入不会获得所有输入,而是会在Node中为您提供最后一个输入,因为ID应该是唯一的。

您必须使用class获取文本框的值,然后使用.each()函数在jquery循环浏览所有文本框,

这里是一个简单的演示。

&#13;
&#13;
$(function(){
$("input[type='text'][class='pats_tb'][name='pats[]']").each(function(index){
  if($(this).val().length > 0) {
      console.log($(this).val());
    }
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input class="pats_tb" type="text" name="pats[]" placeholder="Pats">
<input class="pats_tb" type="text" name="pats[]" placeholder="Pats" value="textbox2">
<input class="pats_tb" type="text" name="pats[]" placeholder="Pats" value="textbox3">
&#13;
&#13;
&#13;