带有输入数组的jquery自动完成

时间:2013-06-08 14:04:33

标签: javascript jquery jquery-ui jquery-ui-autocomplete

我使用以下公式:

ROW1: <input class="search" name="pos[]" value=""><input name="str[]" value="">
ROW2: <input class="search" name="pos[]" value=""><input name="str[]" value="">
ROW3: <input class="search" name="pos[]" value=""><input name="str[]" value="">

对于每行的第一个输入,我激活了jquery自动完成:

$(".search").autocomplete(ac_new_invoice);
var ac_new_invoice = {
    source: "productsearch.php",
    minLength:1,
    select: function(data){
        var str = document.forms[0].elements["str[]"];
        str[1].value = '1.000,00';
    }
}

当我输入

时,它工作正常
 str[1].value = '1.000,00';

但我想要的是,如果我输入第1行,第1行的输入str将会改变。但是如何从中执行自动完成的行?

提前致谢!

1 个答案:

答案 0 :(得分:0)

不是一次对所有元素应用自动完成,而是可以在每个元素上调用它。

$('.search').each(function (i) {
    var ac_new_invoice = (function (i) {
        return {
            source: "productsearch.php",
            minLength: 1,
            select: function (data) {
                var str = document.forms[0].elements["str[]"];
                str[i].value = '1.000,00';
            }
        };
    })(i);
    $(this).autocomplete(ac_new_invoice);
});

请注意,您需要(function (i){ blabla })(i)立即复制变量i