我有一个包含多种产品形式的页面:每个产品一行,每行有大约8-10个输入。我已将输入命名为name="manufId[]"
,因此我现在有输入数组。连续输入之一是制造商。我想将autocomplete jquery插件安装到制造商的输入中,所以我这样做了:
var arrACS = Array();
function setProdAC(inp)
{
arrACS[arrACS.length] = $(inp).autocomplete({
serviceUrl:BASE_URL+'admProducatori/getProdAC/',
width:200,
zIndex: 9999,
deferRequestBy: 0, //miliseconds
noCache: false, //default is false, set to true to disable caching
// callback function:
onSelect: function(value, data){
$(inp).parent().find("input[name^=producator]").val(data.producatorId);
}
});
}
我为每个实例调用setProdAc()。当我有一个新形式(空输入)时,它就像魅力一样。但是当我打开现有列表(表单中的更多产品,有时大约20个)并填写制造商时,那么当我想编辑其中一个制造商输入时,所有自动完成列表都会打开,以便制造商输入高于选了一个。附图像。
请注意,产品(带输入的行)是从javascript生成的,而不是直接从PHP加载的:我有一个包含产品的数组,我在javascript中循环它并在jQuery的帮助下生成行/输入。
以下是我在生成行/输入时对制造商字段所做的事情:
//first I generate the row with inputs, then I adjust the autocomplete plugin to the manufacturer input, then I give values to the inputs:
[...]
setProdAC($(newtr).find("input[name^=prodSel]"));
$(newtr).find('input[name^=prodSel]').val(manufName[i]);
有没有人知道修复它的解决方案?