4

私はJQueryとJsonに不慣れで、いくつかの問題に遭遇しました。誰かが私に助けを提供してくれるなら、それをとても感謝します。私の問題は次のとおりです

。私のJSPには、jsonオブジェクトを返すajax呼び出しがあります。jsonオブジェクトのキーを取得し、そのIDがキーと一致するtrをテーブルで見つけ、最終的にその特定の行の他の列にjsonオブジェクトの値を入力します。

これが私のjqueryajax呼び出しです

    $.ajax({
....
....
success:function(data) {    
//Data is a Json Object. The value is for example :{"A":"1","B":"2","C":"3"}    
for(key in data) {
    $("#myTable tr").find(key).find("td").eq(1).html(data[key]); // not working!
}
}
});

、次のhtmlブロックがあります。

<table id = "myTable">
    <tr id = "A">
      <td>Descriptopn.</td>
 <td>...</td> // I want to set this value to be 1
    </tr>

    <tr id = "B">
 <td>Description</td>
 <td>...</td> // I want to set this value to be 2
    </tr>

     <tr id = "C">
  <td>Description</td>
       <td>...</td> // I want to set this value to be 3
</tr>   
 </table> 

私の問題は、上記の構文が機能していないことです。これを正しくする方法はありますか?ありがとうございました。

4

3 に答える 3

3

.find()一致した各要素で、指定されたセレクターに一致する子孫を検索します。行の子孫ではなく、テーブルの子孫を検索するため、tr元のセレクターでを削除します。次に、'#'キーの前にマークを付けて有効なIDセレクターにします。残りは、期待どおりに機能します。

for(var key in data) {
    $("#myTable").find('#'+key).find("td").eq(1).html(data[key]); // working!
}
于 2012-10-03T10:24:00.727 に答える
2

あなたは持っているのでid(そしてそれはユニークでなければなりません!)、次を使うことができます:-

$('#' + key).find('td:eq(1)').text(data[key]);

ここにフィドルがあります

于 2012-10-03T10:27:03.000 に答える
0
$.each(data, function(i, val){

     $('#myTable tr#' + i).find('td:last').text(val);
 });
于 2012-10-03T10:24:29.550 に答える