javascript - JavaScript - 清除 HTML 隐藏部分中复选框的值
问题描述
我有一个显示许多问题的网络表单。最近有报道称,当满足用于显示该问题的条件,然后不满足并再次满足时,表单的条件部分中显示的问题之一将保持其值。
即如果用户对问题 1 回答“是”,则会显示问题 1a 和 1b,如果他们将问题 1 的答案更改为“否”,则问题 1a 和 1b 将被隐藏,但如果他们更改了对问题 1 的答案返回“是”,问题 1a 和 1b 将再次显示,之前给出的答案仍被选中。1a 和 1b 应在它们被隐藏并再次显示后返回空白/空值。
如果 (a) 和 (b) 是带有以下代码的下拉表单元素,我设法在隐藏和重新显示时将部分 (a) 和 (b) 的答案空白:
但是,该表单由多种不同类型的字段组成,我目前在清除复选框列表的选定选项时遇到了一些麻烦(可以选择多个复选框)。
我尝试以与下拉列表类似的方式清除选择:
var cb = hiddenwrapper.children('select[id^="checkbox"]');
cb.checked = false;
但是,当我通过选择“是”和“否”作为问题 1 的答案来隐藏和重新显示带有复选框答案的问题时,在重新显示问题时仍会选中先前选中的复选框。
在将其设置为 false 后,我添加的调试cb.checked
显示它的值确实显示它的值为 false,但实际上仍检查复选框本身:
CB:
检查:假
长度:0
当问题被隐藏并重新显示时,如何清除选中的复选框?
解决方案
使用 jQuery 选中/取消选中复选框的正确方法是.prop()
方法。
所以它应该是这样的:
var cb = hiddenwrapper.children('select[id^="checkbox"]');
cb.prop('checked', false);
推荐阅读
- ios - 当我在 IOS [IONIC 5] 中播放时,Html5 音频在一秒钟内停止
- python - Azure Eventhubs (Python):使用 Blob 存储进行检查点 - 启用检查点时 EventProcessor 中的 keyerror 问题
- html - 绝对定位元素的 Z 索引不起作用?
- php - Laravel - 按数字(int)排序,即使列类型是字符串
- javascript - 如何获得用 sortablejs 制作的可排序列表的顺序?
- java - 任务的有向无环图的并行执行
- python - Python 字典比较 == 如何在幕后工作?
- javascript - 我制作显示导航栏菜单。为什么我必须获取列表的 id?
- angular - Angular Material Table 嵌套数据源中的 ngFor
- jquery - 将 OnClick 属性与 webpack encore 封装的函数链接