繁体   English   中英

为什么这部分的javascript使我的复选框难以检查?

[英]Why is this bit of javascript making my checkboxes difficult to check?

我的应用程序具有一个使用复选框按类型和区域对结果进行排序的表单。 有两个字段集,一个用于类型,一个用于区域。

区域复选框链接到图像映射的区域,因此也可以用于选择多个区域进行排序。

我有这个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)

但这使复选框难以选择,如果单击了勾号区域,它们将响应单击,但如果单击复选框标签,则仅响应双击。

我希望这是有道理的,如果需要任何澄清,我会尝试更好地说明问题。

谢谢你的帮助。

我认为您根本不需要label click处理程序,因为您只是通过触发区域click处理程序来切换checkbox checked属性,当将for属性设置为checkbox ID时,标签的默认行为本身会对此进行处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM