开发者

How to replace a p tag value if a radio is checked?

I want replace a p tag value if a radio is checked.

I write some JS to do this,but nothing changed. this is my code(I use jquery)

<script>
$(functi开发者_如何学运维on(){
if ($('#A:checked')) {
   $("#change_me").html('<input type="radio" value="1" name="fruit">')
 }

if ($('#B:checked')) {
   $("#change_me").html('<input type="radio" value="2" name="fruit">')
 }

}
</script>

<input type="radio" name="e" id="A" checked="checked">
<input type="radio" name="e" id="B">

<p id="change_me">
   <input type="radio" value="1" name="fruit">
</p>

Thanks.


The :checked selector matches elements that are currently checked.
Writing $('#B:checked') returns a jQuery object containing either zero or one element. It cannot be used directly as a condition.

Instead, you can check if ($('#B:checked').length) to see whether the jQuery object has anything in it.


First, you don't need to recreate the radio button if only the value is changing.

$(function(){
if ($('#A:checked').size() > 0) {
   $("#change_me input[type=radio]").val('1')
 }

if ($('#B:checked').size() > 0) {
   $("#change_me input[type=radio]").val('2')
 }

}

HTML:

<input type="radio" name="e" id="A" checked="checked">
<input type="radio" name="e" id="B">

<p id="change_me">
   <input type="radio" value="1" name="fruit">
</p>


Replace the JavaScript code you have with the following

$(function(){
    $('input[name=e]').change(function(){
        if($(this).attr('id') == 'A')
        {
            $("#change_me input").val('1');
        }
        else
        {
            $("#change_me input").val('2');
        }
    });
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜