2016-05-13 15 views
-3

Ich habe viele Kontrollkästchen auf einer Seite, die so aussehen, ich weiß nicht, was der Wert dieser Kontrollkästchen ist und als Ergebnis weiß ich nicht, was das ist ID ist:Überprüfen, ob eine beliebige Anzahl von Kontrollkästchen aktiviert ist

<input value="78" type="radio" name="radio_tax_input[unit-type][]" id="in-unit-type-78"> 
<input value="90" type="radio" name="radio_tax_input[unit-type][]" id="in-unit-type-90"> 
<input value="3" type="radio" name="radio_tax_input[unit-type][]" id="in-unit-type-3"> 

Ich weiß zwar die Namen der Kontrollkästchen. Ich versuche, wenn eine Anzahl dieser Kontrollkästchen überprüft wurden zu überprüfen, mit jQuery:

var selected_type = $("[name='radio_tax_input[unit-type][]']:checked").length; // count the unit type selections 

if(selected_type == 0){ 
    alert('denied'); 
    return false; 
} 

jedoch meine Variable selected_type wird immer auf 0 gesetzt Könnte jemand vorschlagen, warum?

+0

wie es Radio ist button..max ein Radio gewählt werden würde ... –

+0

Wahr, ich muss nur überprüfen, ob eine ausgewählt ist, obwohl –

+0

funktioniert gut https://jsfiddle.net/atg5m6ym/4440/ –

Antwort

1

Try this: -

$(document).ready(function() { 
    var selected_type = $("[name*='radio_tax']:checked").length; // count the unit type selections 

       if (selected_type == 0) { 
        alert('denied'); 

       } 
}); 

Code Stellen Sie sicher, innen ist $(document).ready wenn Sie keine Funktion

Hoffnung verwenden, das wird helfen.

+0

@Liam Ihr Code ist auch in Ordnung, stellen Sie sicher, dass Ihr Code innerhalb '$ (Dokument) .ready' ist, wenn es nicht innerhalb einer' Funktion' ist oder Sie haben hinzugefügt jquery Referenz – Ansari

1

Wenn Sie sind in der Lage die Kontrollkästchen mit einem <div> dann folgendes zu umgeben funktioniert:

var checkboxes = $('#container').find('input'); 
var checked = false; 
for(var x = 0; x < checkboxes.length; x++){ 
    var box = checkboxes[x]; 
    if(box.checked){ 
     checked = true; 
    } 
} 
if(!checked){ 
    alert('denied'); 
    return false; 
} 

Arbeits: https://jsfiddle.net/ojcv14v1/1/#&togetherjs=zSaKxCDtqI

+0

Zugegeben, das ist länger als einige der anderen Antworten. Ich schätze, du lernst jeden Tag etwas Neues. –

Verwandte Themen