单击radiobutton的处理程序

时间:2014-01-26 15:45:00

标签: javascript jquery

我有这段代码:

<script>
    $(document).ready(
        function()
        {
            $('#radans').on("click",function(event)
            {
                $('#ansform').append("<input type='submit' value='accept answer'>")
            });
        });
</script>

我有几个带有id =“radans”的RadioButton和形式为id =“ansform”。 当我点击第一个RadioButton处理程序捕获此事件,但当我点击第二个,第三个RadioButton时,处理程序不捕获此事件。我怎么解决这个问题?

更新

<form id = "ansform" action=/question method="post">

<p>Answers:</p> 

<input id ="radans" type="radio" name="ansvar" value="0"> yes<br>  

<input id ="radans" type="radio" name="ansvar" value="1"> no<br>

谢谢大家。真的我有重复ID的错误

4 个答案:

答案 0 :(得分:1)

&#34;我有几个RadioButton,id =&#34; radans&#34;&#34;

这是错误的。 Id应该是唯一的。你不能有很多。

在您的示例$('#radans').on中仅激活第一个ID。

尝试在Radiobuttons上添加相同的类,例如

<input class ="radans" type="radio" name="ansvar" value="0"> yes<br>  

 <input class ="radans" type="radio" name="ansvar" value="1"> no<br>  

然后使用此代码:

$(document).ready(
    function()
    {
    $('.radans').on("click",function(event)
            {
            $('#ansform').append("<input type='submit' value='accept answer'>")

            });
    });

答案 1 :(得分:1)

单页中应该有唯一的ID,即不要使用重复的ID。

答案 2 :(得分:0)

元素的ID必须是唯一的,使用类属性代替或使用id对相似元素进行分组,然后使用类选择器来选择它们

而不是<input id="radans" .... />使用<input class="radans" .... />然后

$(document).ready(function () {
    $('.radans').on("click", function (event) {
        $('#ansform').append("<input type='submit' value='accept answer'>")
    });
});

答案 3 :(得分:0)

ID是唯一的,因此只有第一个元素将由jQuery匹配。您应该将ID分配给类。

$('.radans').on('click', function() {
    $('#ansform').append('<input type="submit" value="accept answer">');
});