复选框更改事件在firefox jquery中不起作用

时间:2014-12-22 07:27:24

标签: javascript jquery firefox

这是我的代码。此代码在mozilla firefox浏览器中不起作用。

我的Html

<input class="staff_check" name="select_staff" type="checkbox" value="@Model.Caregivers[i].AgencyUserID" />

脚本

        var selected_staff = [];
        var selected_staff_names = [];
        $('input[name="select_staff"').change(function () {
            console.log('ds');
            if (this.checked) {
                selected_staff.push($(this).val());
                selected_staff_names.push('<span class="selected_staff">' + $(this).parent('label').text().trim() + '</span>');
            }
            else {
                var idx = $.inArray($(this).val(), selected_staff);
                if (idx > -1) {
                    selected_staff.splice(idx, 1);
                    selected_staff_names.splice(idx, 1);
                }
            }
        });

这在Google Chrome中运行良好。但它在mozilla firefox中无效。

2 个答案:

答案 0 :(得分:2)

您错过了关闭方括号“]”,更改:

...
$('input[name="select_staff"').change(function () {
....

...
$('input[name="select_staff"]').change(function () {
...

答案 1 :(得分:1)

而不是change()功能,请尝试click()

var selected_staff = [];
        var selected_staff_names = [];
        $('input[name="select_staff"]').click(function () {
            console.log('ds');
            if (this.checked) {
                selected_staff.push($(this).val());
                selected_staff_names.push('<span class="selected_staff">' + $(this).parent('label').text().trim() + '</span>');
            }
            else {
                var idx = $.inArray($(this).val(), selected_staff);
                if (idx > -1) {
                    selected_staff.splice(idx, 1);
                    selected_staff_names.splice(idx, 1);
                }
            }
        });