Ich habe ein Formular, das Daten enthält, die dynamisch zu meinem Formular hinzugefügt werden. Sobald die Daten hinzugefügt wurden, möchte ich den Wert (insbesondere wenn ein Optionsfeld aktiviert wurde) eines Optionsfelds überprüfen und dann verschiedene Aktionen ausführen, je nachdem, welches Optionsfeld aktiviert ist.

Derzeit kann ich dies nicht tun, unabhängig vom Status des Optionsfelds (d. H. Aktiviert ODER deaktiviert). Ich erhalte immer die Warnung ("Schaltfläche ist nicht aktiviert").

Code:

<!DOTYPE HTML>
<html>

<head>
    <link type='text/css' rel='stylesheet' href='style.css'>
    <!--jQuery Validation-->
    <!--Loads JQuery and JQuery validate plugin-->
    <script src="//code.jquery.com/jquery-1.9.1.js"></script>
    <script type='text/javascript'>
        $(document).ready(function ()
        {


            function checkradio(radio)
            {

                if (radio.checked)
                {
                    alert("no is checked");
                }
                else
                {
                    alert("no is not checked");
                }

            }

            function radiocheck()
            {

                checkradio($('#no'));

            }

            $('#submit1').click(function ()
            {

                radiocheck();

            })


        });
    </script>
</head>

<body>    
    <input type='radio' id='yes' name='radiobutton' value='yes'>yes
    <input type='radio' checked='checked' id='no' name='radiobutton' value='no'>no
    <input type='button' id='submit1' name='submit' value='submit'>    
</body>    
</html>
0
Kenneth .J 27 Nov. 2013 im 08:57

4 Antworten

Beste Antwort

Sie versuchen, die native Eigenschaft checked des DOM-Elements für ein jQuery-Objekt zu verwenden.

Kann benutzen:

if(radio.is(':checked'));

Oder übergeben Sie das native DOM-Element an checkradio() und nicht an das jQuery-Objekt

checkradio($('#no')[0]);
1
charlietfl 27 Nov. 2013 im 05:00

Ändern Sie Ihren Code wie

checkradio($("input[name='radiobutton']")); //This will give all radio buttons with name "radiobutton"

Und in if()

Füge radio.is(':checked') hinzu

FIDDLE

0
yashhy 27 Nov. 2013 im 05:06

Versuche dies

 checkradio($("input:radio[name=radiobutton]"));
0
SHIN 27 Nov. 2013 im 05:03
function checkradio(radio){

    if(radio.prop('checked'))
    {
        alert("no is checked");
    }
    else
    {
        alert("no is not checked");
    }

}

ODER

$('#submit1').click(function(){
    if($('#no').prop('checked')){
       alert("is checked");
    }else{
       alert("is not checked");
    }
})
0
Ankit Tyagi 27 Nov. 2013 im 04:59