2012-04-16 6 views
0

私はWebアプリケーションを開発中です。値を入力するために、私はデータベースからデータを取得するオートコンプリートを使用しています。テキストボックス内の値がオートコンプリート値からのみ入力されていることを確認する。

$(document).ready(function hello(){ 
    var myVar1 = <%=request.getAttribute("variable1")%> 
     $("input#assignedbyid").autocomplete({ 
    source: myVar1 
     }); 
}); 

上記の例は私JDBCjsonコードを使用して、データベースから取得された値の集合を与えます。時間の任意の時点でmyvar1の値は、次のようになります::

["Kapil","Mayur","Abhinav","Chandan"] 

オートコンプリート値のソースとして提供されますどの。 私のhtmlコードは私のinput tag onfocusfunction hello().

<div id="lets"><input dojoType="dijit.form.ValidationTextBox" id="assignedbyid" name="assignedbyname" required="true" onfocus="hello();" onblur="hi();"></div> 

を呼び出し場所今私は、ユーザーが入力した値だけ("Kapil","Mayur","Abhinav","Chandan")なく他の値オートコンプリート値から来ていることを確認し検証チェックを持っていると思います。私は値が入力されない場合、テキストボックスが(onblur="hi();")を振るこのコードを持っています。そうでなければ、私はそのチェックをしたいと思っています。

<script type="text/javascript"> 
function periodical() { 
      $('#lets').effect('shake', { times: 5 }, 200); 
     }; 
      $(document).ready(function() { 
      $('#lets').hide().css('display','').fadeIn(600); 
       }); 
     function hi(){ 
      var dude = dojo.byId("assignedbyid").value; 

      if(dude==""){ 
       periodical();} 
      else{ 

      if(dude) 
       myVar1 

       alert("value entered");} 
       }; 
</script> 

私のelse部分は、当面は不完全です。どのようにこれを行うことができますか?ありがとう。

答えて

0
var V = $("#myInput").val(); 
if (V=="Kapil"||V=="Mayur"||V=="Abhinav"||V=="Chandan") { 
    //do something 
} 

または

var V = $("#myInput").val(); 
var myArray = ["Kapil","Mayur","Abhinav","Chandan"]; 

if ($.inArray(V, myArray)!=-1) { 
    //do something 
} 
+0

おかげで...手動でそのような配列内のすべての値に対して –

+0

チェックVは、オートコンプリートリストは非常に大きな、または変更、などであるかもしれないから、ずさんですオートコンプリートリストが明日に変更されると判断した場合、このコードも更新する必要はありません。 – BenjaminRH

1

あなたはjQueryのを使用している場合、あなたは$.inArray()メソッドを使用することができます:あなただけのプレーンなJavascriptを使用している場合

if($.inArray(enteredValue, myArray) == false) { ... } // If enteredValue is not in myArray 

を、それも簡単です:

if(myArray.indexOf(enteredValue) == -1) { ... } // If enteredValue is not in myArray 
0

このサンプルを使用するあなたのオートコンプリート用のコード。

サンプルコード..回答adeneoため

var url1 = sitepath+'opportunity/contact_autocomplete/'; 
     var related= ''; 
     $(function() { 
      $("#txtcontactid").autocomplete(
      { 
       source:url1, 
       select: function(event, ui) 
       { 
        log( 
         ui.item.id 
        ); 
       } 
      }); 
     }); 
関連する問題