我正在使用jquery自动完成插件,我有几个动态输入,我不能做的是用相应的id填充每个输入。 在这里,我展示了我的代码 在我的js
<table cellpadding="3" cellspacing="1" border="0" align="middle">
<td width="100%">
<input type="text" name="resourcesIds[0]" size="107" value="${requestScope.form.resourceId}">
<span><img src="gif/b.gif" width="7" height="1"><input type="text" name="description[0]" size="107" class="description" value="${requestScope.form.description}" ></span>
<span><a href="#" id="somebutton"><img src="gif/new.gif" border="0" /></a></span>
</td>
</table>
<table id="containerResources">
</table>
在我的js中:
var auto = {
serviceUrl: 'provide.do',
paramName: 'cmd',
dataType : "json",
transformResult: function(response) {
return {
suggestions: $.map(response, function(dataItem) {
return { value: dataItem.provideId+ " - " + dataItem.provideName, data: dataItem.provideId};
})
};
}
};
var a = $('.description').autocomplete(auto);
a.autocomplete().setOptions({onSelect: function(suggestion){
$("input[name=resourcesIds[0]").val(suggestion.data);
}});
var wrapper = $("#containerResources");
$("#somebutton").click(function(e){
e.preventDefault();
var numItems = $('.itemResource').length;
var numItemsFixed = numItems + 1;
var rowFile='<tr id="recurso_'+numItemsFixed+'" class="itemResource"><td width="100%;"><input type="text" name="resourcesIds['+numItemsFixed+']" size="107" value=""><input type="text" name="descriptions['+numItemsFixed+']" size="107" class="descriptions"/></td><td width="100px" align="center"><a href="#" class="remove_field">eliminar</a></td></tr>';
$(wrapper).append(rowFile);
var a = $('.description',wrapper).autocomplete(auto);
a.autocomplete().setOptions({onSelect: function(suggestion){
alert( $("input[name=resourcesIds["+ numItemsFixed +"]]").val(suggestion.data));
}});
此代码不会使用id
填充任何输入答案 0 :(得分:0)
$("input[name=resourcesIds[0]").val(suggestion.data);
你错过了一个结束的方括号,它应该是:
$("input[name=resourcesIds[0]]").val(suggestion.data);