2013-11-28 3 views
0

У меня есть много флажков и отдельный флажок. я буду, когда пользователь нажмет на отдельный флажок, другие флажки выберите или отмените выбор.
Для этого я использую следующий файл javascript, но не работает хорошо. он иногда работает, а иногда и нет.
В чем проблема.
Спасибо.Как реализовать checkall через javascript

function toggle() { 
    var c = document.getElementsByTagName('input'); 
    if (isChecked == true) { 
     isChecked = false; 
     selectCount = 0; 
    } else { 
     isChecked = true; 
    } 
    for (var i = 0; i < c.length; i++) { 
     if (c[i].type == 'checkbox') { 
      if (isChecked) 
       selectCount++; 
      c[i].checked = isChecked; 
     } 
    } 
    if (isChecked) 
     selectCount--; 
} 

Я использую selectCount для другой цели.

ответ

1

Вы можете попробовать что-то вроде этого (Example)

var chk = document.getElementById('all'); 
chk.onchange = function(){ 
    var all = document.getElementById('checkall').children; 
    var status = this.checked ? 1 : 0; 
    for(var i = 0; i < all.length; i++) { 
     all[i].checked = status; 
    } 
} 

this one Или (использование встроенного onchange событие)

HTML:

<input id="all" type="checkbox" name="all" onchange="toggle(this)" />Toggle 
<div id="checkall"> 
    <input type="checkbox" />One 
    <input type="checkbox" />Two 
    <input type="checkbox" />Three 
</div> 

JS:

function toggle(el){ 
    var all = document.getElementById('checkall').children; 
    var status = el.checked ? 1 : 0; 
    for(var i = 0; i < all.length; i++) { 
     all[i].checked = status; 
    } 
} 
+0

спасибо, он работает очень хорошо. –

+0

@RasoulTaheri, приветствую вас, BTW, в следующий раз, когда вы попросите ответа, пожалуйста, включите «HTML», это может помочь понять проблему с текущим кодом :-) –

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