Question

I have this partial code that my teacher wanted us to to. I have 3 arrays, 1 for questions, 1 for answers and 1 for sagots. Then the questions will appear and the user will have to click to answer the first question. I wanted to make the value of sagots[0] to the value of the radio button that has been clicked. but I couldn't. I tried using the alert()function to determine it but it seems it doesn't assigned the value of the radio button

    <script>
        var question = [
            '1. In the equation, ans = (35+15) / 2 * 7 - 51 + (100+2), ans final value is?',
            '2. In PHP, what operator is the equal (=) sign?',
            '3. An electric train travelled northward by 3pm, then by 5pm, it travelled westward. What was the direction of its smoke by 5pm?',
            '4. What was the most expensive dog breed ever sold for 1.5 million dollars??',
            '5. An asteroid, (1998 KM41), was named after this Filipino teacher by the Massachusetts Institute of Technology, Lincoln Laboratory, USA. Who is she?',
            '6. Who was the first president of United States of America after Abraham Lincoln?',
            '7. This is also popularly known as crux ansata, what is it?',
            '8. What is the highest-grossing animated film worldwide?',
            '9. Who is this WWE superstar that always chant YES! YES! YES!?',
            '10. Who was the president of the Philippines who got the lowest vote ever recorded?'
        ];

        <!--alert(question[0]);-->          

    </script>

    <script>
        var sagots = [
            '1',
            '2',
            '3',
            '4',
            '5',
            '6',
            '7',
            '8',
            '9',
            '10'
        ];



    </script>

    <script>
        var ans=[
                '226',
                'Assignment',
                'None',
                'Red Tibetan mastiff',
                'Dr. Josette Biyo',
                'Andrew Johnson',
                'Ankh',
                'Toy Story 3',
                'Daniel Bryan',
                'Fidel Ramos'               
            ];
    </script>



    <script src="js/vendor/modernizr-2.6.2.min.js"></script>
</head>
<body>
    <!--[if lt IE 7]>
        <p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
    <![endif]-->

    <div id = "main-wrapper">
        <h1>Examination</h1>

        <div id = "questionone">
            <script>
                document.write(question[0]);
            </script>
            <br />
                <label><input type="radio" id="choice1" value="206"  checked="checked" />a. 206</label>
                <label><input type="radio" id="choice1" value="256"  />b. 256</label>
                <label><input type="radio" id="choice1" value="226"  />c. 226</label>
            <br />

            <script>

                    var sagots = 'null';

                    x = radio.getElementById(choice1).innerHTML;


                alert(sagots[0]);
            </script>

        </div>

The problem is, I want to put the value of the radio button that has been/ will be checked by the user to my array sagots[0] but I couldn't. Please tell me how to do that

Was it helpful?

Solution

use name instead of id

<label><input type="radio" name="choice1" value="206"  checked="checked" />a. 206</label>
<label><input type="radio" name="choice1" value="256"  />b. 256</label>
<label><input type="radio" name="choice1" value="226"  />c. 226</label>

then, you can get the checked element with jquery and a css selector:

sagots[0] = $('input[type=radio]:checked').val()

finally, put that code in a function and bind it to the radios' click event:

$('input[type=radio]').click(function() {
    sagots[0] = $('input[type=radio]:checked').val()
});
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top