隐藏输入元素时如何从复选框中删除检查?

时间:2013-04-30 19:22:40

标签: jquery forms

我有一个复选框,通过以下功能查看其他选项。麻烦的是,如果选中显示的复选框,即使隐藏后它们仍保持选中状态。如何最好地将取消选中的复选框绑定到与隐藏它们相同的功能?

这是许多类似的隐藏式隐藏分组之一。任何帮助表示赞赏!谢谢大家

请注意我在一个系统中执行此操作,我无法添加或更改任何HTML ID或类,这就是为什么有大量选定项目。

$("input[id='form_0009_fld_5-0']").click(function() {
    if( $(this).is(':checked')) {
        $("input[name='form_0009_fld_6-0'],label[for='form_0009_fld_6-0'],input[name='form_0009_fld_6-1'],label[for='form_0009_fld_6-1'],input[name='form_0009_fld_6-2'],label[for='form_0009_fld_6-2'],input[name='form_0009_fld_6-3'],label[for='form_0009_fld_6-3'],input[name='form_0009_fld_6-4'],label[for='form_0009_fld_6-4'],input[name='form_0009_fld_6-5'],label[for='form_0009_fld_6-5'],input[name='form_0009_fld_6-6'],label[for='form_0009_fld_6-6']").closest('.formField').show();
    } else {
        $("input[name='form_0009_fld_6-0'],label[for='form_0009_fld_6-0'],input[name='form_0009_fld_6-1'],label[for='form_0009_fld_6-1'],input[name='form_0009_fld_6-2'],label[for='form_0009_fld_6-2'],input[name='form_0009_fld_6-3'],label[for='form_0009_fld_6-3'],input[name='form_0009_fld_6-4'],label[for='form_0009_fld_6-4'],input[name='form_0009_fld_6-5'],label[for='form_0009_fld_6-5'],input[name='form_0009_fld_6-6'],label[for='form_0009_fld_6-6']").closest('.formField').hide();
        }
});

2 个答案:

答案 0 :(得分:1)

属性选择器可以匹配“starts with”,“ends with”和许多其他选项,因此不需要输入一堆类似的选择器吗?

要将复选框设置为“未选中”,如果未选中最初切换的复选框等,则使用prop('checked', false),并且使用change事件可能比{{1}更好event:

click

答案 1 :(得分:1)

Jquery允许您链接函数,以便添加到hide的末尾。

例如:

$('longselector').closest('.formField').hide().attr("checked", false);

使用其余的代码。

$("input[id='form_0009_fld_5-0']").click(function() {
    if( $(this).is(':checked')) {
        $("input[name='form_0009_fld_6-0'],label[for='form_0009_fld_6-0'],input[name='form_0009_fld_6-1'],label[for='form_0009_fld_6-1'],input[name='form_0009_fld_6-2'],label[for='form_0009_fld_6-2'],input[name='form_0009_fld_6-3'],label[for='form_0009_fld_6-3'],input[name='form_0009_fld_6-4'],label[for='form_0009_fld_6-4'],input[name='form_0009_fld_6-5'],label[for='form_0009_fld_6-5'],input[name='form_0009_fld_6-6'],label[for='form_0009_fld_6-6']").closest('.formField').show();
    } else {
        $("input[name='form_0009_fld_6-0'],label[for='form_0009_fld_6-0'],input[name='form_0009_fld_6-1'],label[for='form_0009_fld_6-1'],input[name='form_0009_fld_6-2'],label[for='form_0009_fld_6-2'],input[name='form_0009_fld_6-3'],label[for='form_0009_fld_6-3'],input[name='form_0009_fld_6-4'],label[for='form_0009_fld_6-4'],input[name='form_0009_fld_6-5'],label[for='form_0009_fld_6-5'],input[name='form_0009_fld_6-6'],label[for='form_0009_fld_6-6']").closest('.formField').hide().attr("checked", false);
        }
});