2
<html>
<head>
  <script src=".\jquery.1.4.2.js"></script>
  <link rel="stylesheet" enter code heref=".\jquery.autocomplete.css" type="text/css" />   
  <script type="text/javascript" src=".\jquery.autocomplete.js"></script>

  <script>
  $(document).ready(function(){
      var data = "AndraPradesh;ArunachalPradesh;Assam;Bihar;Chhattisgarh;Goa;Gujarat;Haryana;HimachalPradesh;Jammuan&Kashmir;Jharkhand;Karnataka;Kerala;MadyaPradesh;Maharashtra;Manipur;Meghalaya;Mizoram;Nagala;Orissa;Punjab;Rajasthan;Sikkim;TamilNadu;Tripura;Uttaranchal;UttarPradesh;WestBengal".split(";");

   $("#example").autocomplete((data),{ matchContains: 0, minChars: 1, scroll: true, width: 143, selectFirst: true, multiple: true, multipleSeparator: ';', autoFill: false });
});
  </script>

</head>
<body>
<b><font color="red">ENTER INDIAN 'STATE' NAME TO SEE AUTOCOMPLETE</font></b>
<br><br> Enter States <input id="example" /> <button onclick="javascript:displaycontent();">click me</button>
</body>
<script>
function displaycontent()
{
var alertmsg = $("#example")[0].value;
alert(alertmsg );
}
</script>
</html>

私は上記のコードを使用しました....一度状態名を入力すると....次の試行で別の状態名を入力するときに表示されないはずです

4

1 に答える 1

5

ヘンキーのコメントを詳しく説明します。

var data = "AndraPradesh;ArunachalPradesh;Assam;Bihar;Chhattisgarh;Goa;Gujarat;Haryana;HimachalPradesh;Jammuan&Kashmir;Jharkhand;Karnataka;Kerala;MadyaPradesh;Maharashtra;Manipur;Meghalaya;Mizoram;Nagala;Orissa;Punjab;Rajasthan;Sikkim;TamilNadu;Tripura;Uttaranchal;UttarPradesh;WestBengal".split(";");

var distinct = [];

$.each(data , function(i, el){
    if($.inArray(el, distinct ) === -1) 
        distinct.push(el);
});

//distinct will not contain any duplicates

または、jqueryを使用したくない場合(ie7では機能しません):

var distinct = data.filter(function(elem, pos) {
    return data.indexOf(elem) == pos;
});

フィドル

于 2012-10-26T12:34:35.653 に答える