【发布时间】:2012-01-29 19:54:02
【问题描述】:
我的应用程序有一个表单,它使用复选框按类型和区域对结果进行排序。有 2 个字段集,一个用于类型,一个用于区域。
区域复选框链接到图像地图的区域,因此它也可用于选择多个区域进行排序。
我有这个javascript:
这将区域复选框和图像映射的区域链接起来,因此它们都充当表单输入
var $area = $('area');
$area.click(function(){
var $checkbox = $('#' + $(this).data("areanum"));
$checkbox.attr('checked', !$checkbox.attr('checked')).button('refresh');
});
$('label').click(function () {
$area.filter('[data-areanum="' + $(this).attr('for') + '"]').trigger('click');
return true;
});
这会破坏类型复选框(提交表单时它们不会注册为被检查),除非我更改位:
$('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;
});
(更改最后一行返回true)
但这使得复选框难以选择,如果单击勾选区域,它们会响应单击,但如果单击复选框标签,则只会响应双击。
我希望这是有道理的,如果需要任何澄清,我会尝试更好地表达问题。
感谢您的帮助。
【问题讨论】:
-
你能在jsFiddle上发布一个相关的功能示例吗?
标签: javascript jquery forms checkbox