2012-11-07 80 views
0

我有兩個單選按鈕:JQuery的單選按鈕

<table border="0" width="500"> 
    <tr><td><?php echo form_label('Register with a Club', 'club'); ?>&nbsp;<?php echo form_radio('individual', 'club', '', 'id=club'); ?></td><td><?php echo form_label('Register as an Independent', 'independent'); ?>&nbsp;<?php echo form_radio('individual', 'independent', '', 'id=independent'); ?></td></tr> 
    </table> 

這個吐出:

<table border="0" width="500"> 

    <tr><td><label for="club">Register with a Club</label>&nbsp;<input type="radio" name="individual" value="club" id=club /></td><td><label for="independent">Register as an Independent</label>&nbsp;<input type="radio" name="individual" value="independent" id=independent /></td></tr> 
    </table> 

我想提醒出的單選按鈕組的值....我已嘗試...

<script type="text/javascript"> 
$(function(){ 
alert($("input[name='individual']").val()); 
    }); 
</script> 

但它只返回'俱樂部'一次,爲什麼不提醒'獨立'?

回答

1

你的代碼只會得到第一個元素的值。如果你得到的長度,你會在實際上看到,它抓住了所有輸入:

$("input[name='individual']").length 

如果你想提醒您需要循環的所有值:

$("input[name='individual']").each(function() { alert(this.value); }); 

如果你想要的是讓電流值檢測輸入:

$("input[name='individual']:checked").val() 
2

你需要提醒的是實際檢查的單選按鈕的值,否則它會立即在選擇的第一要素,這是「俱樂部的價值」總是:

$(function(){ 
    $("input[name='individual']").on('change', function() { 
     alert($("input[name='individual']:checked").val()); 
    }); 
}); 
    ​ 

FIDDLE

如果您需要兩個值(或更多,如果有該組中更單選按鈕),你必須在它們之間迭代:

$(function(){ 
    var values=[]; 
    $.each($('input[name="individual"]'), function(i,elm) { 
     values.push(elm.value); 
    }); 
    alert(values.join(', ')); 
}); 

FIDDLE