JavaScript-清除HTML的隐藏部分中的复选框的值

时间:2019-02-11 12:23:07

标签: javascript html checkbox deselect

我有一个显示一些问题的网络表格。最近有报道说,当满足用于显示该问题的条件,然后又不满足,然后再次满足时,表单的条件部分中显示的问题之一将保留其值。

即如果用户对问题1回答“是”,则将显示问题1a和1b,如果他们将对问题1的回答更改为“否”,则问题1a和1b将被隐藏,但是如果他们将对问题1的答案更改回如果选择“是”,将再次显示问题1a和1b,并且仍会选择先前给出的答案。 1a和1b一旦被隐藏并再次显示,应返回空白/空值。

当隐藏(a)和(b)下拉表单元素时,我设法用空白代码隐藏了(a)和(b)部分的答案,并使用以下代码重新显示:

但是,该表单由许多不同类型的字段组成,并且我现在很难将其清除为复选框列表(可以选择多个复选框)的所选选项。 / p>

我尝试以与下拉菜单类似的方式清除选择内容:

var cb = hiddenwrapper.children('select[id^="checkbox"]');
cb.checked = false;

但是,当我通过选择“是”和“否”作为问题1的答案来隐藏并重新显示带有复选框答案的问题时,重新显示该问题时仍会选中以前选中的复选框。 / p>

我添加的用于将cb.checked的值设置为false后添加的调试确实表明其值为false,但实际上仍选中了复选框:

  

cb:

     

选中:否

     

长度:0

隐藏并重新显示问题后,如何清除选中的复选框?

1 个答案:

答案 0 :(得分:1)

使用jQuery选中/取消选中复选框的正确方法是.prop()方法。

http://api.jquery.com/prop/

所以应该是这样的:

var cb = hiddenwrapper.children('select[id^="checkbox"]');
cb.prop('checked', false);