2017-11-28 1 views
2

Ich habe zwei Radiobuttons und ich möchte es definieren, wenn kein Radiobutton aktiviert ist, setze Block auf einen Fehler, aber es. Ich habe den folgenden Code geschrieben, aber ich denke, dass es an beiden funktioniert. Wie kann ich definieren, dass, wenn eine von ihnen aktiviert ist, wahr ist und es nicht notwendig ist, diese Funktion für beide auszuführen? hier ist mein Code-Schnipsel:Wie definiere ich, wenn kein Optionsfeld nicht aktiviert ist

+0

'$ (this) .find'? * nein! *, 'Radioknöpfe' sind Geschwister mit Ihrem' Knopf' – Pedram

Antwort

3

Dont this und find() in der Klick-Funktion verwenden, nur der Eingangswähler:

$(".nexti").click(function(){ 
 
    if (!$('input[name=radio]').is(':checked')) { 
 
\t $(".alertnext").css("display","block"); 
 
    } else $(".alertnext").css("display","none"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
First <input type="radio" name="radio" value="" /> 
 
Second <input type="radio" name="radio" value="" /> 
 
<div class="alertnext" style="display:none;"> Error !</div> 
 
<button type="" class="nexti">Next</button>

0

diesen Code Versuchen :

$(".nexti").click(function(){ 
    $(".alertnext").css("display","none"); 
    if (!$('input[name=radio]').is(':checked')) { 
    $(".alertnext").css("display","block"); 
} 
}); 
1
$(".nexti").click(function(){ 
if (!$('input[name=radio]').is(':checked')) { 
    $(".alertnext").css("display","block"); 
} 
}); 
0

Versuchen Sie dies mit ids

$(".nexti").click(function() { 
 
console.log() 
 
    if (!$('#rbf').is(':checked')||$('#rbs').is(':checked')) { 
 
    $(".alertnext").css("display", "block"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
First <input type="radio" id='rbf' name="radio" value="" /> 
 
Second <input type="radio" id='rbs' name="radio" value="" /> 
 
<div class="alertnext" style="display:none;"> Error !</div> 
 
<button type="" class="nexti">Next</button>

0

$("document").ready(function() 
 
{ 
 
\t $("[name='rd']").change(function() 
 
\t { 
 
\t \t $("#txt").html($("input[name='rd']:checked").val()); 
 
\t }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
First <input type="radio" name="rd" value="first" /><br> 
 
Second <input type="radio" name="rd" value="second" /> 
 
<div id="txt"></div>

0

Sie könnten wahrscheinlich verwenden:

!$('input[name=radio]') 
.toArray() 
.every(function (val) { 
    return $(val).prop('checked') 
}) 

in Ihrem if(...) Zustand.

Else, könnten Sie verwenden:

var error = !$('input[name=radio]') 
    .toArray() 
    .every(function (val) { 
     return $(val).prop('checked') 
    }) 

if(error) { //show error } 

Grundsätzlich .Every (...) überprüft, ob beide geprüft. .prop (...) ist besser Test von checked. Mit beiden können Sie also erreichen, was Sie brauchen.

Verwandte Themen