简体   繁体   中英

Selecting an html radio button dynamically through javascript does not work in IE

I want to select a radio button from javascript. I am using this simple html file to test the issue. The code below works correctly on firefox and chrome, however it does not work in IE (no version works). I would like to know why the supplied code does not work on IE, and how to select a radio button in IE?

<html>
<head>
    <script type="text/javascript">
        function chooseOne()
        {
            var randomChoice = Math.round(Math.random() * 2);

            if(randomChoice == 0)
            {
                document.getElementById("test0").checked = true;
            }
            else if (randomChoice == 1)
            {
                document.getElementById("test1").checked = true;
            }
            else
            {
                document.getElementById("test2").checked = true;
            }
        }
    </script>
</head>
<body>
    <input type="radio" id="test0" name="test" value="a" /> A<br />
    <input type="radio" id="test1" name="test" value="b" /> B<br />
    <input type="radio" id="test2" name="test" value="c" /> C<br />
    <input type="button" name="click" value="CHOOSE" onclick="javascript:chooseOne()" />
</body>

Thanks in Advance, Spi

First of all, you should give all your radio buttons the same name , otherwise they will act as if they are independent buttons:

<input type="radio" name="test" id="test0" value="a" /> A<br />
<input type="radio" name="test" id="test1" value="b" /> B<br />
<input type="radio" name="test" id="test2" value="c" /> C<br />

I'm guessing this is also the source of your problem. Further, once you do this, you only need to set one radio button's checked to true , that will automatically remove the selection from other buttons.

我不确定,但是可能您必须告诉IE,您的onclick代码在javascript中是这样的:

<input type="button" name="click" value="CHOOSE" onclick="javascript:chooseOne()" />

One problem: var randomChoice = Math.round(Math.random() * 2);

will always yield to 1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM