使用AJAX动态获取每个表行的匹配数据

时间:2013-04-20 21:10:53

标签: jquery jsp spring-mvc

下面的行是动态生成的

<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?简而言之,我需要一个适用于所有文本字段的查询。

由于

1 个答案:

答案 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"
    });
});

工作示例 http://jsfiddle.net/QqeLp/

相关问题