2017-04-16 3 views
0

Ich habe 2 Kontrollkästchen. Ich brauche einen, nicht beide, aber mindestens 1 zu überprüfen. Es ist keine Mehrfachauswahl, aber Null wird nicht akzeptiert. Wenn eines markiert ist, wird diese Zeile funktionieren jQuery('#wiz_menu.nav-tabs > .active').next('li').find('a').trigger('click'); andernfalls sollte es warnen. Das Folgende macht es ständig aufmerksam.Wie kann man prüfen, ob ein Kontrollkästchen aktiviert ist?

UPDATE

ich nicht die Submit-Button bin mit oder ich würde die validate plugin verwendet haben. Es ist eine normale Taste neben dem Assistenten zu gehen <button type="button" class="btnNext">Next step</button>

HTML

<div class="form-group"> 
    <label for="usp-category-8" class="usp-checkbox usp-cat usp-cat-0"> 
     <input type="checkbox" name="usp-category[]" id="usp-category-8" value="8" data-required="true" class="usp-input usp-input-category"> 
     Cultura 
    </label> 
    <label for="usp-category-7" class="usp-checkbox usp-cat usp-cat-0"> 
     <input type="checkbox" name="usp-category[]" id="usp-category-7" value="7" data-required="true" class="usp-input usp-input-category"> 
     Scienze 
    </label> 
    <input type="hidden" name="usp-category-required" value="1"> 
</div> 

JS

jQuery('.btnNext').on("click", function(){ 
    if(jQuery(".tab-pane").is("#step1")) { 
    var isChecked = false; 
    $('input[type=checkbox]').on("change", function() { 
     isChecked = true; 
    }); 
    if (isChecked) { 
     jQuery('#wiz_menu.nav-tabs > .active').next('li').find('a').trigger('click'); 
    } else { 
     alert('Please, check at least one checkbox!'); 
    } 
    } 
}); 
+0

Mögliche doppelte: http://stackoverflow.com/q/2204250/80836 – Andreas

+1

Einstellung auf true ändern es gilt auch eingestellt werden, wenn unchecking. Aber wenn es überhaupt nicht funktioniert, versuchen Sie es mit einem Klick (die Logik wird immer noch falsch sein). – inarilo

+2

Warum können Sie nicht einfach Radioknöpfe machen? – JJJ

Antwort

2

Mit jQuery können Sie verwenden is:

$('#form').on('submit', function(e) { 
 
    e.preventDefault(); 
 
    if ($('input[name="hi"]').is(':checked')) { 
 
    console.log('checked'); 
 
    } 
 
}); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form"> 
 
    <input type="checkbox" name="hi" value="hi">Hallo<br> 
 
    <input type="checkbox" name="gb" value="gb">Tschuss<br> 
 
    <input type="submit" value="Submit"> 
 
</form>

, um Ihren Code Angepasst:

$('.btnNext').click(function(e) { 
 
\t e.preventDefault(); 
 
    if ($('#usp-category-7').is(':checked') || $('#usp-category-8').is(':checked')) { 
 
    console.log('at least one is checked'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <label for="usp-category-8" class="usp-checkbox usp-cat usp-cat-0"> 
 
     <input type="checkbox" name="usp-category[]" id="usp-category-8" value="8" data-required="true" class="usp-input usp-input-category"> 
 
     Cultura 
 
    </label> 
 
    <label for="usp-category-7" class="usp-checkbox usp-cat usp-cat-0"> 
 
     <input type="checkbox" name="usp-category[]" id="usp-category-7" value="7" data-required="true" class="usp-input usp-input-category"> 
 
     Scienze 
 
    </label> 
 
    <input type="hidden" name="usp-category-required" value="1"> 
 
    <button class="btnNext">Next</button> 
 
</div>

+1

es ist kein Submit-Button, den ich habe, sonst hätte ich das Validierungs-Plugin verwendet, es ist ein normaler Button, um als nächstes den Assistenten zu gehen –

+0

Es soll ein Beispiel sein, wie man 'ist' @RobertoMarras verwendet. – inarilo

+0

ok danke, ich akzeptiere das so wie es richtig ist, jedoch habe ich auch meine eigene Antwort für die Lösung gepostet, die ich in meinem Fall übernommen habe. –

1

Dank eines Kommentars, ich es so persönlich beschlossen, sie Radio-Buttons machen. Aber ich werde die andere Antwort akzeptieren, da sie korrekt ist.

jQuery('.btnNext').on("click", function(){ 
    if(jQuery(".tab-pane").is("#step1")) { 
    if($('input[type=radio').is(':checked')) { 
     jQuery('#wiz_menu.nav-tabs > .active').next('li').find('a').trigger('click'); 
    } else { 
     alert('Please, check at least one checkbox!'); 
    } 
    } 
}); 
Verwandte Themen