1

多分それは私のセレクター構文です、私は知りません。すべてを単一のステートメントに追加すると、すべてが追加されますが、jQuery セレクターで選択することはできません。

分割すると、2 番目の追加は失敗しますが、最初の追加は成功します。

$.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

ピリオドはセレクターの特殊文字です。エスケープする必要があります。

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

ID には、.エスケープする必要がある特殊文字が含まれています。

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

ただし、とにかく 1 行で実行する方がよいでしょう。

于 2012-09-18T20:45:12.687 に答える
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 に答える