2014-12-22 3 views
1

Вот мой код. Этот код не работает в браузере Mozilla Firefox.Событие смены флажка не работает в firefox jquery

Мои Html

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

Script

 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.

+0

HTTP: // jsfiddle. net/QnFg3/1/ – Manoj

+0

http://jsfiddle.net/stackmanoj/gj6ramg2/6/ @Mano z – Manoj

ответ

2

вы пропустили закрывающая квадратная скобка ']', изменение:

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

в

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

Спасибо, что работает – Manoj

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); 
       } 
      } 
     }); 
+0

Это не работает для меня – Manoj

+0

Это сработало для меня, спасибо. Событие изменения не работает в Firefox 39.0 (Linux). – juanra

Смежные вопросы