2016-05-26 11 views
0

自動完了を実行するデータリストを入力しました。データリストは動的です。私はデータリスト入力オートフォーカスは、値を選択した後にフォーカスを失う

を次のように次のように私は機能を持っていることを実行します。

$(function() { 
      $("#to").on("input", function (e) { 
       var val = $(this).val(); 
       if (val === "") 
        return; 
       if(val.length < 2) return; 
       console.log(val); 
       $.getJSON("/code", {term: val}, function (data) { 
        var dataList = $("#list"); 
        dataList.empty(); 
        //console.log(data); 
        $.each(data, function (idx, obj) { 
          //console.log(obj.value); 
          //console.log(obj.label); 
          var opt = $("<option></option>").attr("value",obj.value).text(obj.label); 
          dataList.append(opt); 
        }); 
       }); 
      }); 
     }); 

この機能での問題は、私はデータリストから値を選択すると、入力イベントが再びトリガーされる、ということですので、私は必要エスケープをクリックしてフォームを終了します。値フォームのデータリストを選択するときに、どのようにフォーカスを失うことができますか。

ありがとうございました

答えて

0

私のデータリストの内容を確認することで、以下のようにトリックを行いました。

if ($('#list option').filter(function() { 
       return this.value === val; 
      }).length) { 
       return; 
      } 
関連する問題