Ajax自动完成Jquery,如何发送动态参数id

时间:2017-06-29 15:11:31

标签: javascript java jquery ajax jsp

我正在使用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

填充任何输入

1 个答案:

答案 0 :(得分:0)

$("input[name=resourcesIds[0]").val(suggestion.data);

你错过了一个结束的方括号,它应该是:

$("input[name=resourcesIds[0]]").val(suggestion.data);