【发布时间】:2023-03-13 16:34:01
【问题描述】:
这就是我的表单的样子。
和我试过的 JS:
$('#work_direction').on('click' , function() {
$('.cad, .design, .shop, .cnc').on('click', function(){
$classname = $(this).attr('class');
if($('.' + $classname + ":checked").length > 0){
$('#' + $classname).attr('checked','checked');
} else {
$('#' + $classname).removeAttr('checked');
}
});
});
那里有一些功能,据我所知它可以工作。但是,我想这样做,以便当在 Direction 中选择“墨西哥”时,当用户勾选 S - SHOP 或 M - CNC 时,它不应该在 Departments 中勾选这两个受影响
- 商店(John Doe [3])
- CNC(John Doe [4])
但它应该检查一下
- 墨西哥(John Doe [7])
该表格的工作方式应该与国内和离岸的一样,当底部的 C、D、S、M 被选中时,顶部的 CAD、设计、商店、CNC 被选中。当用户选择“墨西哥”作为方向时,功能会发生如上所述的变化。
这是我尝试过的代码,Check and uncheck checkbox not working correctly,但我在 beautifulcoder 的评论中描述了一些问题:“基本上,我认为你遇到了事件冒泡的问题。如果你使用 live(),jQuery 将立即添加事件并且将来。下次添加事件时,它会附加到列表中。”
我不确定如何实施修复或是否有更好的方法。
【问题讨论】:
-
它们的 id 是否也与类名相同?
-
@jp310 是的,除了“Mexico”的 ID 为 mexico
标签: javascript jquery checkbox