我有一个小问题,我相信,我找不到错误......
我所拥有的是一个简单的表单,它使用自动完成功能在数据库中查找内容,这仅适用于FIRST(默认)输入字段。
我想要它做的是"重新初始化"关于附加输入的自动完成,但似乎我无法管理它,并且我已经尝试了谷歌...(很多可能会说:))。
这是JS部分。
$(function() {
var i=0;
var autocomp_opt={
source: "functions.php",
minLength: 3,
}
$(".itemname").on("keydown.autocomplete", function() { // this one works
$(this).autocomplete(autocomp_opt);
});
$(".itemname["+i+"]").on("keydown.autocomplete", function(){ // doesnt work
$(this).autocomplete(autocomp_opt);
});
$(".addfield").click(function(e){ //on add input button click
i++;
e.preventDefault();
$("#createList").append('<br /><input type="text" name="itemname['+i+']" class="itemname['+i+']" placeholder="Livsmedel" />');//add input box
});
});
以下是表格:
<form method="post" id="createList" action="create.php" class="pure-form" >
<input type="text" name="itemname[0]" class="itemname" placeholder="Livsmedel" />
<input type="text" name="amount" style="display:none" class="amount" placeholder="">
<input type="text" name="unit" class="unit" />
<button type="button" class="addfield" />+</button>
<button type="submit" class="pure-button pure-button-primary" name="insert">Lägg in</button>
</form>
错误应该很简单,但我找不到:(
答案 0 :(得分:0)
很高兴这个链接有所帮助。我也有一个解决方案。看起来你很接近,但因为i
没有增加,你的第二个功能(一个不工作)失败了。
我在这里工作:http://jsfiddle.net/gd7qke4v/2/
我所做的是将您的基本autocomplete
调整为:
$(document).on("keydown", ".itemname", function () {
//$(this).autocomplete(autocomp_opt);
$(this).nextAll('input[name="unit"]').val('query result'); // here instead of val, use your autocomplete().
});
将autocomplete
绑定到文档,查找.itemname
处于活动状态/ keydown,然后查找名称为unit
的下一个输入。只需将.val
替换为您的.autocomplete(autocomp_opt)
,就应该设置它。