1

也许这是我的选择器语法,我不知道。当我将所有内容添加到单个语句中时,所有内容都已添加,但无法使用 jQuery 选择器选择它们。

如果我把它分开,第二个追加失败,但第一个成功。

$.each($.parseJSON(msg.d) , function(i){
    $("#contactsGrid").append("<tr id='contactRow." + $.parseJSON(msg.d)[i].SupplierContID + "'></tr>");
    $("#contactRow." + $.parseJSON(msg.d)[i].SupplierContID).append("<td><input type='text' id='contactLastName." + $.parseJSON(msg.d)[i].SupplierContID + "' /></td>");
});

需要能够选择动态控件。

提前致谢!

4

3 回答 3

1

您的 ID 具有.需要转义的特殊字符。

$("#contactRow\\." +...

但是,无论如何最好在 1 行中执行此操作。

于 2012-09-18T20:45:12.687 回答
1

句点是选择器中的特殊字符,您需要对其进行转义:

$("#contactRow\\." + $.parseJSON(msg.d)[i].SupplierContID)
于 2012-09-18T20:46:57.317 回答
0

我刚刚在我正在构建的另一个项目中使用的东西。我很快更改了 id 名称/元素,希望这能让您很好地了解该去哪里:

$.each($.parseJSON(msg.d) , function(i){
     $("#contactsGrid").append(
            $(document.createElement('tr')).attr({
                'id' : "contactRow\\." + $.parseJSON(msg.d)[i].SupplierContID +
            }).append(
                $(document.createElement('td')).append({
                    $(document.createElement('input')).attr({
                       'type' : 'text',
                       'id' :  "contactLastName\\." + $.parseJSON(msg.d)[i].SupplierContID
                    })
                })
            )
         )
     )
});
于 2012-09-18T20:51:27.123 回答