如何将值设置为嵌套表格的字段?我的表格如下:
<table id="first">
<tr>
<td><input type="text" id="type[0]" name="type[0]"/></td>
<td>
<table>
<tr class="list"><td><input type="text" id="type[0].a[0].label" name="type[0].a[0].label"/></td></tr>
<tr class="list"><td><input type="text" id="type[0].a[1].label" name="type[0].a[1].label"/></td></tr>
</table>
</td>
</tr>
<table>
我正在尝试使用find和input []来设置值,但是它没有这样做。
$("#first").find("table").find("tr:last").find('input[name="type['+i+'].a['+j+'].label"]').val("ABC");
但是能够使用 .find 设置第一个表。
$("#first > tbody > tr:last").find('input[name="type['+i+'].a['+j+']"]').val("123");
无法通过类使用jquery查找:
tr.list
我也试过这个,提示未定义
alert($("#first table:last > tr.list").attr("id"));
我的问题是:
答案 0 :(得分:1)
您的问题是您需要转义选择器(请查看this answer)。
但为什么不使用id?
$("#type\\[" + i + "\\]\\.a\\[" + j + "\\]\\.label")
$(document).ready(function(){
var i = 0, j = 1;
$("#type\\[" + i + "\\]\\.a\\[" + j + "\\]\\.label").val("custom value");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="first">
<tr>
<td><input type="text" id="type[0]" name="type[0]"/></td>
<td>
<table>
<tr class="list"><td><input type="text" id="type[0].a[0].label" name="type[0].a[0].label"/></td></tr>
<tr class="list"><td><input type="text" id="type[0].a[1].label" name="type[0].a[1].label"/></td></tr>
</table>
</td>
</tr>
<table>