jQuery从另一个脚本更改脚本

时间:2015-06-23 17:10:16

标签: php jquery

这可能是一个新手问题,但在这里。我在文件中有以下脚本,我无法进行任何更改。

$('.btn-group label:not(.active)').click(function()
{
    var label = $(this);
    var input = $('#' + label.attr('for'));

    if (!input.prop('checked')) {
        label.closest('.btn-group').find('label').removeClass('active btn-success btn-danger btn-primary');
        if (input.val() == '') {
            label.addClass('active btn-primary');
        } else if (input.val() == 0) {
            label.addClass('active btn-danger');
        } else {
            label.addClass('active btn-success');
        }
        input.prop('checked', true);
    }
});

但我需要对它进行简单的修改。有没有办法从另一个脚本(在另一个文件中)更改上面的一个看起来像这样

$('.btn-group label:not(.active)').click(function()
{
    var label = $(this);
    var input = $('#' + label.attr('for'));

    if (!input.prop('checked')) {
        label.closest('.btn-group').find('label').removeClass('active btn-success btn-danger btn-primary');
        if (input.val() == '') {
            label.addClass('active btn-primary');
        } else if (input.val() == 0) {
            label.addClass('active btn-danger');
        } else {
            label.addClass('active btn-success');
        }
        input.prop('checked', true);
        input.trigger('change');          // Added line
    }
});

1 个答案:

答案 0 :(得分:1)

你应该绑定一个新的处理程序:

$('.btn-group label:not(.active)').click(function()
{
    $('#' + label.attr('for') + ':not(:checked)').trigger('change');
});

注意,如果班级active可以切换,要处理此更改,您应该委派事件:

$('.btn-group').on('click', 'label:not(.active)', function(){...});