2011-03-31 61 views
0

如果检查收音机,我想要替换p标签值。如果检查收音机,如何替换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> 

感谢。

回答

0

替换你与following

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

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

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

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> 
+0

喜的JavaScript代码,Mark.I改变什么我检查,但没有happend.If我刷新站点价值将会改变。我希望改变价值而不刷新。 – jean 2011-03-31 14:40:19

+0

那是因为您只是在页面加载时执行上述代码。您还需要将其绑定到事件。例如$('input [type = radio]')。change(function(){//你的代码在这里}); – Mark 2011-03-31 15:28:08