为什么这一点javascript让我的复选框很难检查?
我的应用程序有一个表单,它使用复选框按类型和区域对结果进行排序。有两个字段集,一个用于类型,一个用于区域 区域复选框链接到imagemap的区域,因此它也可用于选择多个区域进行排序 我有一个javascript: 这将链接区域复选框和imagemap的区域,以便它们都充当表单输入 这会打破类型复选框(在提交表单时,它们不会注册为被选中),除非我更改位:为什么这一点javascript让我的复选框很难检查?,javascript,jquery,forms,checkbox,Javascript,Jquery,Forms,Checkbox,我的应用程序有一个表单,它使用复选框按类型和区域对结果进行排序。有两个字段集,一个用于类型,一个用于区域 区域复选框链接到imagemap的区域,因此它也可用于选择多个区域进行排序 我有一个javascript: 这将链接区域复选框和imagemap的区域,以便它们都充当表单输入 这会打破类型复选框(在提交表单时,它们不会注册为被选中),除非我更改位: $('label').click(function () { $area.filter('[data-a
$('label').click(function () {
$area.filter('[data-areanum="' + $(this).attr('for') + '"]').trigger('click');
return false;
});
到
(将最后一行更改为返回true)
但这使得复选框很难选择,如果单击勾选区域,复选框只响应一次单击,而如果单击复选框标签,复选框只响应双击
我希望这是有意义的,如果需要任何澄清,我会尽量把问题说得更清楚
谢谢您的帮助。我认为您根本不需要
标签点击处理程序,因为您只需通过触发区域点击处理程序来切换复选框选中的属性,当设置了for
属性时,标签的默认行为将自行处理该处理程序到复选框
id.您能在JSFIDLE上发布一个相关的功能示例吗?
$('label').click(function () {
$area.filter('[data-areanum="' + $(this).attr('for') + '"]').trigger('click');
return false;
});
$('label').click(function () {
$area.filter('[data-areanum="' + $(this).attr('for') + '"]').trigger('click');
return true;
});