2011-03-31 39 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