我在表格中有以下代码:
<tr class="16225">
<td>smtp</td>
<td>test@gmail.com</td>
<td class="grp_memberships"> </td>
<td><a href''="">Edit</a> | <a href="">Delete</a></td>
</tr>
在呈现页面之后,我正在进行ajax调用以获取“grp_memberships”单元格的值。
我在<TR>
上的类值实际上是一个ID。我想根据此ID查找/匹配行,然后填充grp_memberships <td>
的值
我可以在控制台窗口中找到使用它的行:
$('.16225')
返回整行。但我不知道如何使用值...
更新<TD>
这是我现在拥有的jquery代码:
$.each(groups, function(i, e) {
console.log(e['id'] + '-' + e['grp']);
})
E [ 'ID']
包含应与
匹配的类的值感谢。
编辑1
在控制台窗口中,我尝试了这个:
$('.16225 .grp_memberships').text('hello');
这为我返回并更新了正确的单元格。
所以我尝试将代码更新为:
$.each(groups, function(i, e) {
$('.' + e['id'] + ' .grp_memberships') = e['name'];
})
输出以下错误:
Uncaught ReferenceError: Invalid left-hand side in assignment
我也试过这个:
$("'." + e['id'] + " .grp_memberships'") = e['name'];
但是会返回此错误:
捕获错误:语法错误,无法识别的表达式:'。。16233 .grp_memberships'
编辑2:
最新代码:
$.each(groups, function(i, e) {
alert(e['name']);
$('.' + e['id'] + ' .grp_memberships').text(e['name']);
});
这将显示一个带有各种名称的消息框2次...但不更新表中的相应行。 :(
答案 0 :(得分:0)
如果您的目标是将内容插入DOM中的元素,则无法使用等号进行设置。如果您特别想添加文字,可以使用.text()功能;如果您想添加元素等,可以使用.html()。(这些不是唯一的方法,它们是&#39;只是一些最常见的。)
例如,这应该适用于您的代码:
$("'." + e['id'] + " .grp_memberships'").text(e['name']);
答案 1 :(得分:0)
建议使用数组到json,你的代码是手工操作是没有自动化的,你应该学习DOM(重要)。
查看示例代码:
$(document).ready(function() {
var array = [];
for (x = 0; x < $('table tr').length; x++) {
var id = $('table tr:nth('+x+')').attr('class');
var object= [id];
for (y = 0; y < $('tr:nth('+x+') td').length; y++) {
object.push($('tr:nth('+x+') td:nth('+y+')').text());
}
array.push({object});
}
console.log(array);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<body>
<table border="1">
<tr class="16225">
<td>smtp</td>
<td>test@gmail.com</td>
<td class="grp_memberships"> </td>
<td><a href="">Edit</a> | <a href="">Delete</a></td> <!-- removed href'' -->
</tr>
<tr class="16221">
<td>http</td>
<td>http@gmail.com</td>
<td class="grp_memberships"> </td>
<td><a href="">Edit</a> | <a href="">Delete</a></td> <!-- removed href'' -->
</tr>
<tr class="16224">
<td>ftp</td>
<td>ftp@gmail.com</td>
<td class="grp_memberships"> </td>
<td><a href="">Edit</a> | <a href="">Delete</a></td> <!-- removed href'' -->
</tr>
<tr class="16227">
<td>mms</td>
<td>mms@gmail.com</td>
<td class="grp_memberships"> </td>
<td><a href="">Edit</a> | <a href="">Delete</a></td> <!-- removed href'' -->
</tr>
<tr class="16233">
<td>pop</td>
<td>pop@gmail.com</td>
<td class="grp_memberships"> </td>
<td><a href="">Edit</a> | <a href="">Delete</a></td> <!-- removed href'' -->
</tr>
</table>
</body>
注意:Sry bad english