我在asp.net中有一组单选按钮(单个按钮)。这些按钮具有组名(如果重要)。我需要做的是,无论何时用户选择一个单选按钮,我都需要调用一些jQuery。当用户选择单选按钮时,我没有进行页面刷新,因此我需要在运行时完成此操作。我在asp.net中尝试了一个“CheckedChanged”事件并且无法触发它。我也尝试过:
if ($('input:radio').attr('checked') === true) {
var checked = $('input:radio:checked').val();
}
然而,它仅在第一次加载页面时起作用,而不是在用户选择除默认值之外的其他内容时起作用。我该怎么做才能解决这个问题?
答案 0 :(得分:1)
如果将其绑定到change event,则每次更改项目时都会触发
$("input:radio").change(function(eventObject){
var checked = $(eventObject).val();
});
答案 1 :(得分:0)
如果您AutoPostBack="true"
比任何时候用户选择单选按钮,页面都会回发(刷新)。
因此将其设置为false,并通过jquery处理change事件。
答案 2 :(得分:0)
尝试这样的事情:
<p>
<input type="radio" name="myRadioButtonSet" id="myRadioButtonSet1" value="1" /><label for="myRadioButtonSet1"> One</label><br/>
<input type="radio" name="myRadioButtonSet" id="myRadioButtonSet2" value="2" /><label for="myRadioButtonSet2"> Two</label><br/>
<input type="radio" name="myRadioButtonSet" id="myRadioButtonSet3" value="3" /><label for="myRadioButtonSet3"> 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
变量仍在范围内,因此您可以跟踪状态变化。