2011-02-10 115 views
0

我在asp.net中有一組單選按鈕(單個按鈕)。這些按鈕有一個組名(如果有的話)。我需要發生的是,無論何時用戶選擇一個單選按鈕,我都需要調用一些jQuery。當用戶選擇單選按鈕時,我不會進行頁面刷新,所以我需要這個在飛行中完成。我在asp.net中嘗試了一個「CheckedChanged」事件,無法啓動它。我也曾嘗試:jQuery獲取單選按鈕的值而不刷新頁面

if ($('input:radio').attr('checked') === true) { 
        var checked = $('input:radio:checked').val(); 
       } 

但是它只能在第一次加載頁面時,不是當用戶選擇默認值以外的東西。我能做些什麼來解決這個問題?

+1

CheckedChanged肯定會在複選框AutoPostBack =「true」時觸發 – naveen 2011-02-10 17:35:46

回答

1

如果將它綁定到change event如果你有AutoPostBack="true"比任何時候用戶選擇一個單選按鈕,頁面將回發(刷新),將火每次項目更改

$("input:radio").change(function(eventObject){ 
    var checked = $(eventObject).val(); 
}); 
+0

這就像一個魅力,謝謝! – EvanGWatkins 2011-02-10 18:47:40

0

時間。

因此將其設置爲false,並通過jquery處理更改事件。

0

嘗試這樣:

<p> 
    <input type="radio" name="myRadioButtonSet" id="myRadioButtonSet1" value="1" /><label for="myRadioButtonSet1">&nbsp;One</label><br/> 
    <input type="radio" name="myRadioButtonSet" id="myRadioButtonSet2" value="2" /><label for="myRadioButtonSet2">&nbsp;Two</label><br/> 
    <input type="radio" name="myRadioButtonSet" id="myRadioButtonSet3" value="3" /><label for="myRadioButtonSet3">&nbsp;Three</label><br/> 
</p> 
<script type="text/javascript"> 
    $(function(){ 
    var oldValue = $('input:radio[name=myRadioButtonSet]:checked') ; 
    $('input:radio[name=myRadioButtonSet]').click(function(){ 
     var newValue = $('input:radio[name=myRadioButtonSet]:checked').val() ; 
     alert('old value:'+oldValue + '/' + 'new value:'+newValue) ; 
     oldValue = newValue ; 
     return ; 
    }) ; 
    return ; 
    }) ; 
</script> 

click事件發生的單選按鈕被點擊任何時間(即使值不變); change事件僅在值更改時觸發。

關閉(方便)的oldValue變量仍在範圍內,因此您可以跟蹤狀態更改。

相關問題