2016-05-23 6 views
0

Auf Click of Link, wir überprüfen alle Checkboxen in diesem div.JQuery: Wie können Sie die Kontrollkästchen in div deaktivieren, nachdem Sie alle überprüft haben?

<form> 
    <div> 
    Select 
    <span class="kukapaya">(<a href="#" id="ninapaya" class="selectAll">alle</a>)</span> 
    <br> 
    <input type="checkbox" class="document" name="check2"> 

    <input type="checkbox" class="document" name="check2"> 

    <br> 
<input type="checkbox" class="File"> 

<input type="checkbox" class="File"> 
</div> 


</form> 

Voraussetzung: Wir sollten nicht die Kontrollkästchen mit class="File" überprüfen.

folgenden Code werden alle Kontrollkästchen:

function initSelectAll() { 
    $("form").find("a.selectAll").click(function() { 
    var cb = $(this).closest("div").find("input[type=checkbox]"); 
    cb.not(":checked").click().length || cb.click(); 
    //........WANT TO UNCHECK checkboxes with class="file" where link id is 'id="ninapaya"'; how to do that?...... 
    return false; 
    }); 
} 
initSelectAll(); 

JSFiddle: https://jsfiddle.net/k4d6zpay/

+0

Verwenden 'mit: not' Selektor .. – Rayon

Antwort

0

versuchen Sie dies:

function initSelectAll() { 
    $("form").find("a.selectAll").click(function() { 
    var cb = $(this).closest("div").find("input[type=checkbox]"); 
    cb.not(":checked").not('.File').click().length || cb.click(); 
    return false; 
    }); 
} 
initSelectAll(); 

auch in Ihrem jsfiddle Link aktualisieren: https://jsfiddle.net/k4d6zpay/1/

+0

Könnten Sie eine separate Zeile für das gleiche mit einem Scheck auf id = ninapaya – fatherazrael

0
function initSelectAll() { 
    $("form").find("a.selectAll").click(function() { 
    var cb = $(this).closest("div").find("input[type=checkbox]:not(.File)"); 
    cb.not(":checked").click().length || cb.click(); 
    //........WANT TO UNCHECK checkboxes with class="file" where link id is 'id="ninapaya"'; 
    $(this).closest("div").find("input[type=checkbox][id='ninapaya'].File").prop('checked',false); 
    return false; 
    }); 
} 
initSelectAll(); 
+0

machen Könnten Sie eine separate Zeile für das gleiche mit einer Prüfung auf ID = ninapaya – fatherazrael

1

Es vereinfacht werden könnte .prop(.prop(propertyName, function)) und mit :not selector

$("form").find("a.selectAll").click(function() { 
    $(this).closest("div").find("input[type='checkbox']:not('.File')").prop('checked', function() { 
    return !this.checked; 
    }); 
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<form> 
    <div> 
    Select 
    <span class="kukapaya">(<a href="#" id="ninapaya" class="selectAll">alle</a>)</span> 
    <br> 
    <input type="checkbox" class="document" name="check2"> 

    <input type="checkbox" class="document" name="check2"> 

    <br> 
    <input type="checkbox" class="File"> 

    <input type="checkbox" class="File"> 
    </div> 
</form> 
+0

Könnten Sie eine separate Zeile für die gleiche mit einer Prüfung auf ID = ninapaya – fatherazrael

+0

Möchten Sie eine Funktion nur auf den Klick von 'ID = ninapaya aufrufen '? – Rayon

Verwandte Themen