2017-01-13 4 views
-2

Ich möchte alle li Elemente durchlaufen und markieren Sie sie als aktiviert, wenn die li:first-of-type ausgewählt ist.Aktivieren Sie alle Kontrollkästchen in der Listenansicht in jQuery

Bisher konnte ich die ersten li auswählen und true/ zurückgeben, wenn ausgewählt. Von diesem möchte ich alle unterstehenden Checkboxen in der Liste überprüfen. Irgendwelche Ideen der Hilfe in der Sache?

elements.each(function() { 
    var data = $(this).data(); 

    if (data.showall == 1) { 
     $(this).find("li:first-of-type").find("input").on("change.checkAll", checkAll) 
    } 
}); 

function checkAll(e) { 
    console.log(e) 
    var checked = $(e.srcElement)[0].checked; 
    console.log(checked) 

    if (checked) {   
     // iterate through all Li's and mark as checked 
    } 
} 
+4

sind Can Sie teilen das HTML? Sonst wird die Antwort meist nur Ratespiel sein – Satpal

Antwort

1

Sie folgenden Code verwenden können, um prüfen vorgesehen, dass alle Li

<li> <input type="checkbox"/> Select All 
</li> 
<li><input type="checkbox"/> Opt 1 
</li> 
<li> <input type="checkbox"/> Opt 2 
</li> 

... in folgender Weise

function checkAll(e) { 
    console.log(e) 
    var checked = $(e.srcElement)[0].checked; 
    console.log(checked) 

    if (checked) {   
     $(this).parents("li").nextAll().foreach(function(){ 
      $(this).find("input").prop("checked",true); 
     }); 
    } 
} 
-1

Einige Ihrer html zu verstehen einfügen.

Sie machen es komplex. Sie müssen nur alle Kontrollkästchen der ersten li wie

$(this).find("li:first-of-type").find("input").change(function(){ 

    // select your all checkbox CLASS or ID here 
    $(this).find("li:first-of-type").nextAll().foreach(function(){ 
     $(this).find("input").prop("checked",true); 
    }); 

}); 
Verwandte Themen