当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
traverse to element when knowing at least one in same hiearch. structure using jquery
我有以下html结构
<tr>
<td>
<input class="check-box" type="checkbox" disabled="disabled" checked="checked">
</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>
<a href="/data/Edit/1">Edit</a>|
<a href="/data/Details/1">Details</a>|
<a href="/data/Delete/1">Delete</a>|
<a id="myAction_1" onclick="myAction(1)">TakeAction</a>
</td>
</tr>
function myAction(someId){
$.ajax({
method: "POST",
dataType:'text',
url: "/mydata/someaction/",
data: { id: someId}
}).done(function( msg ) {
$("#myAction_"+someId).text(msg);
// change checkbox here value to check or unchecked
});
}
如何在myAction in done方法中遍历到知道#myAction_"+someId
的复选框元素,而不为复选框id分配显式id。
试试这个:
var checkboxElement = $("#myAction_"+someId).closest("tr").find("td:eq(0) > input[type='checkbox']")
您可以使用closest
方法查找表行,然后从中查找输入。您可以使用对当前元素的引用而不是标识:
<a id="myAction_1" onclick="myAction(this)">TakeAction</a>
然后在函数中使用:
function myAction(element){
$.ajax({
method: "POST",
dataType:'text',
url: "/mydata/someaction/",
data: { id: someId}
}).done(function( msg ) {
$("#myAction_"+someId).text(msg);
var check = $(element).closest('tr').find('input[type=checkbox]');
check.prop('checked', true); // make the checkbox checked
});
}
相关文章:
- 遍历类元素数组,并在jquery中选择同级元素
- Jquery遍历表元素
- JS.循环遍历多维数组,以计数元素在每列中的出现次数
- 如何使用 document.querySelectorAll 遍历选定的元素
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- js循环遍历单击的元素子节点
- 循环遍历元素jquery选择器
- 如何使用jquery遍历具有动态添加元素的数组
- JavaScript元素遍历返回的值超出预期
- 遍历jQuery中的表元素
- 使用 jquery .find() 遍历按类和存储属性选择元素
- 带有 ng-repeat 的 Angular JS 指令无法遍历子元素
- 遍历 DOM 以查找哪个元素具有焦点
- 循环遍历 DOM 元素时,是否有 for 循环的替代方法
- 遍历(获取)元素包装在 标记内
- 如何遍历 d3 中的值内部数组并添加相应的子元素
- JQuery/Javascript - 遍历值之后的所有 json 元素
- 遍历django模板中的json元素
- 如何在遍历表和添加新元素时获得tr的索引
- findout js代码遍历DOM中的哪个元素