如果检查无线电,如何替换p标签值?

时间:2011-03-31 14:10:12

标签: javascript jquery

如果选中了收音机,我想要替换p标签值。

我写了一些JS来做这件事,但没有改变。 这是我的代码(我使用jquery)

<script>
$(function(){
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>

感谢。

3 个答案:

答案 0 :(得分:1)

:checked选择器匹配当前检查的元素 编写$('#B:checked')将返回包含零个或一个元素的jQuery对象。它不能直接用作条件。

相反,您可以检查if ($('#B:checked').length)以查看jQuery对象中是否包含任何内容。

答案 1 :(得分:1)

首先,如果只有值发生变化,则无需重新创建单选按钮。

$(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>

答案 2 :(得分:0)

将您拥有的JavaScript代码替换为following

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