如何将参考保存到表格行中的复选框?

时间:2016-07-30 17:43:53

标签: javascript jquery checkbox

选中复选框后,我会显示一个表格。如果表单被取消,我希望取消选中此框。

修改

在表格表格(第二个表格)上,滚动到复选框并选中一个,然后转到第一个表格并单击取消按钮。向下滚动到您选中的框。

jsfiddle

在HTML中,我定义:

<input id="current-checkbox" type="checkbox" class="hidden" />

在关联的JS中我保存当前位置:

var curRow = $(this).closest('.trow').find('input[type=checkbox]');
$("#current-row",curRow);

console.log显示:

$("#current-checkbox")
[<input id=​"current-checkbox" type=​"checkbox" class=​"hidden">​]

取消表格JS:

$("#cancel-email").on('click', function (e) {
    debugger
    e.preventDefault();
    setTimeout(function () { showMessage(1, 'Emails not sent.') }, 2000);
    setTimeout(function () { hideEmailElems(); }, 2000);
    $("#current-checkbox").find("input[type=checkbox]").prop("checked", false).focus();
});

的console.log:

$("#current-checkbox").find("input[type=checkbox]").length
0

找到保存复选框的正确jQuery选择器是什么?

1 个答案:

答案 0 :(得分:2)

$("#current-checkbox")只选择一个元素(即复选框),因为它是id的选择器。

find(selector)方法找到与匹配元素中的选择器匹配的元素,因此在这种情况下$("#current-checkbox").find("input[type=checkbox]")为空,因为该复选框元素没有任何子元素元件。

因此,您不会需要.find()部分。 $("#current-checkbox")就足够了。

请注意,在有效的HTML中,the id attribute必须唯一。因此,id选择器最多匹配一个元素。

  

如何保存对表格行中复选框的引用?

您不需要保存对已选中复选框的引用。您可以使用:checked选择器从任何地方查找它。

$("#cancel-email").on('click', function(e) {
    // Un-check the checked checkbox
    $(".trow input[type=checkbox]:checked").prop("checked", false);

    // Hide the E-Mail box
    $('#main-container').hide();
});