我目前正在将其用于单个自动填充框(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>
答案 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
}
);
});