多个jQuery自动完成同时打开

时间:2012-06-23 08:08:25

标签: javascript jquery autocomplete jquery-autocomplete

我有一个包含多种产品形式的页面:每个产品一行,每行有大约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的帮助下生成行/输入。 enter image description here

以下是我在生成行/输入时对制造商字段所做的事情:

//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]);

有没有人知道修复它的解决方案?

0 个答案:

没有答案