2011-02-10 66 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变量仍在范围内,因此您可以跟踪状态更改。

相关问题