Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript警报以确认是否输入了两次值_Javascript - Fatal编程技术网

javascript警报以确认是否输入了两次值

javascript警报以确认是否输入了两次值,javascript,Javascript,我有一张表格: // 10 times <input type="text" name="cityname" class="autocompletecity"> <input type="text" name="cityID" class="autocompletecityID"> 当我输入城市名称时,它会使用以下代码自动完成数据库中的城市名称和城市ID: <?php for ($i = 0; $i < 10; $i++) { /*in the field

我有一张表格:

// 10 times
<input type="text" name="cityname" class="autocompletecity">
<input type="text" name="cityID" class="autocompletecityID">
当我输入城市名称时,它会使用以下代码自动完成数据库中的城市名称和城市ID:

<?php  for ($i = 0; $i < 10; $i++) { /*in the field class add $i */  ?>
  $(function() {
    function log( message ) {
      $( "<div>" ).text( message ).prependTo( "#log" );
      $( "#log" ).scrollTop( 1 );
    }
    $( ".autocompletecity<?php echo $i ?>" ).autocomplete({
      source: "/*path to json*/",
      select: function( event, ui ) {
        var item = ui.item;
        if(item) {
          $(".autocompletecityID<?php echo $i ?>").val(item.cityID);
          $(this).val(item.value +' ' + item.country);
          return false;
        }
      }

      //code from J.D.
      select: function( event, ui ) {
        var item = ui.item;
        if(item) {
          $('input[name="cityID"]').each(function(index, element) {
            var $element = $(element);
            if ($element.value() == item.cityID) {
              alert('This city has already been selected');
            }
          });
        }
      }
    })
    .autocomplete( "instance" )._renderItem = function( ul, item ) {
      return $( "<li>" )
        .append( "<a>" +item.value + " " +item.country + "</a>" )
        .appendTo( ul );
    };
  });

<?php } ?>
在自动完成cityID后,如果已经输入了相同的cityID,我想显示一个警报框:单击“确定”确认,或单击“取消”清除重复输入的cityname和cityID。 我试图在jqueryui中搜索,但没有运气

谢谢

试试这个:

select: function( event, ui ) {
  var item = ui.item;
  if(item) {
    $('input[name="cityID"]').each(function(index) {
      var $element = $(this);
      if ($element.value() == item.cityID) {
        alert('This city has already been selected');
      }
    });
  }
}

谢谢jd!我是javascript新手,所以我用代码编辑了我的问题。。。你能看一下吗?帮我把它和你的代码结合起来?谢谢我已根据您的编辑编辑了答案。也许它不是100%准确,所以你必须稍微调整一下。谢谢,但仍然不起作用,仍然不确定在哪里插入它…抱歉!我已经用你的代码编辑了我的问题。我已经更新了代码,检查它现在是否工作,然后运行console.log$element.value;我想autocomplete可能会创建一个新的输入并在那里保存cityID。如果有其他输入,请签入html。