我在每个表格单元格上都有id的表格。每个id在Javascript对象中都有匹配的键。 Ajax调用将返回带有值的Object。我想遍历表并为每个表格单元格分配值,如果密钥匹配单元格id。这是一个例子:
HTML表:
<table class="tblData">
<tr>
<th>Last Name</th>
<td id="st_lname"></td>
</tr>
<tr>
<th>First Name</th>
<td id="st_fname"></td>
</tr>
<tr>
<th>DOB</th>
<td id="st_dob"></td>
</tr>
</table>
使用Javascript:
$.ajax({
type: 'POST',
url: 'Components/getRecords.cfc?method='+getMethod,
data: {'userID':userID},
dataType: 'json'
}).done(function(obj){
if(obj.STATUS == 200){
//Here I can access my obj.DATA values and get the key for each value
$('.tblData table tr td').each(function(){
$(this).attr('id').toUpperCase();
});
return true;
}else{
return false;
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
});
以下是我从服务器收到响应后对象的外观:
{"STATUS":200,"DATA":{"ST_DOB":"03/16/2010","ST_FNAME":"John","ST_LNAME":"Miller"}}
在我成功返回后,我想循环遍历表,如上所述,并在对象中找到每个表格单元格id的匹配键,并将值分配给该单元格。如果有人可以提供帮助,请告诉我。谢谢。
答案 0 :(得分:2)
您的选择器不正确。它应该是.tblData tr td
。您可以使用jQuery&#39; s text()方法
var res = {
"STATUS": 200,
"DATA": {
"ST_DOB": "03/16/2010",
"ST_FNAME": "John",
"ST_LNAME": "Miller"
}
};
$('.tblData tr td').each(function(i, ele) {
var id = $(ele).attr('id').toUpperCase();
var value = res.DATA[id];
if (value) {
$(ele).text(value);
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="tblData">
<tr>
<th>Last Name</th>
<td id="st_lname"></td>
</tr>
<tr>
<th>First Name</th>
<td id="st_fname"></td>
</tr>
<tr>
<th>DOB</th>
<td id="st_dob"></td>
</tr>
</table>
&#13;