我使用以下公式:
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将会改变。但是如何从中执行自动完成的行?
提前致谢!
答案 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
。