下面的行是动态生成的
<input id="soid0" name="soid[0].name" type="text" />
<input id="soid1" name="soid[1].name" type="text" />
<input id="soid2" name="soid[2].name" type="text" />
当我遍历文本字段时,Ajax查询应调用后端并获取匹配的数据(如果存在)
$(document).ready(function() {
$( "#soid0" ).autocomplete({
source: "/myapp/soid.htm"
});
});
查询有效,但我希望它适用于所有动态生成的行#soid0
,#soid1
?简而言之,我需要一个适用于所有文本字段的查询。
由于
答案 0 :(得分:2)
将属性选择器与^
启动选择器结合使用。
$(document).ready(function() {
$('input[name^="soid"]' ).autocomplete({
source: "/myapp/soid.htm"
});
});
请注意,当可以使用类时,jquery文档会建议不要使用此选择器,并说明:
然而,它会比使用类选择器更慢 如果可以的话,可以将类分组。
或者为每个输入应用一个类:
<强> HTML 强>
<input id="soid0" class="soid" name="soid[0].name" type="text" />
<input id="soid1" class="soid" name="soid[1].name" type="text" />
<input id="soid2" class="soid" name="soid[2].name" type="text" />
<强>的Javascript 强>
$(document).ready(function() {
$('.soid' ).autocomplete({
source: "/myapp/soid.htm"
});
});
或者如果这些是页面上的唯一输入,请使用标签选择器:
$(document).ready(function() {
$('input' ).autocomplete({
source: "/myapp/soid.htm"
});
});