2016-10-12 6 views
0

Ich versuche, das Kontrollkästchen zu deaktivieren, wenn alle Zeilen gelöscht werden. Dies ist mein aktueller Code:Wie deaktiviert man das Kontrollkästchen, wenn alles gelöscht wurde?

function removeElements() 
{ 
    var chxbox= this.form.getElementsByTagName('input'); 
    for (var i = chxbox.length; i--;) { 
     if (chxbox[i].name === 'delrow[]') { 
      chxbox[i].checked = this.checked; 
     }else (chxbox[i].name === 'delrow[]') { 
      chxbox[i].checked = this.checked = false; 
    } 
} 

Das ist mein Checkbox:

<input type="checkbox" onclick="removeElements.call(this);" /> 

Die geprüft ist in Ordnung, aber die unkontrollierte doens't zu funktionieren scheint.

+1

'} else (chxbox [i] .name === 'delrow []') {' macht keinen Sinn. – Blazemonger

+0

Oh, okay, ja sicher, ich werde jetzt ein Kinderspiel machen. –

+0

Dies ist fast das gleiche, wenn alle Zeilen gelöscht werden. Das Auswahlfeld muss falsch sein. http://jsfiddle.net/praveen_jegan/7Dqqf/82/ –

Antwort

0

Ich habe in Ihrer Geige gearbeitet. Sie sollten das Kontrollkästchen "chk []" deaktivieren, wenn Sie alle Zeilen gelöscht haben.

function deleteRow(tableID) { 
    try { 
     var table = document.getElementById(tableID); 
     var rowCount = table.rows.length; 

     for (var i = 1; i < rowCount; i++) { 
      var row = table.rows[i]; 
      var chkbox = row.cells[0].childNodes[0]; 
      if (null != chkbox && true == chkbox.checked) { 
       table.deleteRow(i); 
       rowCount--; 
       i--; 
      } 
     } 

     //Here.. 
     if (table.rows.length == 1) { 
      var elem = document.getElementsByName("chk[]")[0]; 
      console.log(elem); 
      elem.checked = false; 
     } 
    } catch (e) { 
     alert(e); 
    } 
} 

Fiddle: http://jsfiddle.net/7Dqqf/321/

+0

Hey! du bist der beste # 1 –

+0

Froh, dass ich hilfreich war! – Kartal

+0

Hey nochmal, wie deaktiviere ich, wenn ich die Checkboxen verberge? –

Verwandte Themen