jQuery自动完成如何为两个不同的输入id文本框使用相同的本地数组?

时间:2010-10-11 13:39:25

标签: jquery jquery-autocomplete

我目前正在将其用于单个自动填充框(id =“drug”),并且它的工作非常精彩。我需要有一个第二个自动完成框(id =“drug2”),它使用相同的数组作为其选择。我似乎无法让它工作。每当我尝试修改代码时,我都会在两者上打破它。我相信那里的人有一个优雅的解决方案,可以引导我朝着正确的方向前进。 。

<script type="text/javascript">
function findValue(li) {
 if( li == null ) return alert("No match!");

 // if coming from an AJAX call, let's use the DrugId as the value
 if( !!li.extra ) var sValue = li.extra[0];

 // otherwise, let's just display the value in the text box
 else var sValue = li.selectValue;

 //alert("The value you selected was: " + sValue);
}

function selectItem(li) {
 findValue(li);
}

function formatItem(row) {
 return row[0] + " (id: " + row[1] + ")";
}

function lookupLocal(){
 var oSuggest = $("#drug")[0].autocompleter;
 oSuggest.findValue();
 return false;
}

$(document).ready(function() {
 $("#drug").autocompleteArray(

  ['Acyclovir','Amikacin','Aminophylline','Amiodarone','Ampicillin','Atropine','Azithromycin','Aztreonam','Bupivacaine','Calcium Chloride','Calcium'],
  {
   delay:10,
   minChars:1,
   matchSubset:1,
   onItemSelect:selectItem,
   onFindValue:findValue,
   autoFill:true,
   maxItemsToShow:100
  }

 );
});
</script>

1 个答案:

答案 0 :(得分:2)

您可以在jQuery调用中使用Multiple Selector,然后在其上调用autocompleteArray:

$(document).ready(function() {
 $("#drug1, #drug2").autocompleteArray(
  ['Acyclovir','Amikacin','Aminophylline','Amiodarone','Ampicillin','Atropine','Azithromycin','Aztreonam','Bupivacaine','Calcium Chloride','Calcium'],
  {
   delay:10,
   minChars:1,
   matchSubset:1,
   onItemSelect:selectItem,
   onFindValue:findValue,
   autoFill:true,
   maxItemsToShow:100
  }    
 );
});