使用jquery检查服务器单选按钮控件

时间:2013-05-25 07:22:40

标签: jquery asp.net radio-button

我正在写一个.js文件,

sample.js

function pageLoad(){
  $('.rbNewUnit').attr('checked', true);
}

sample.aspx

 <asp:RadioButton ID="rbNewUnit" runat="server" CssClass="rbNewUnit"  Text="New Unit" GroupName="categotyOfUnit" />

它不起作用。

我也尝试了但是没有工作

 $('.rbNewUnit').is(':checked');

如果我把第一个代码放在.aspx页面的脚本标签中就可以了。为什么呢?

4 个答案:

答案 0 :(得分:2)

pageLoad是Microsoft Asp.net Ajax的Sys.Application中的reaserved关键字。为所有回发调用该函数,包括异步回发。异步回发期间不会调用$(document).ready中的函数。有关详细信息,请参阅文档here和解释

之间区别的文章

$(document).ready and pageLoad

我已经使用了你的代码并对其进行了一些修改,即使我将pageLoad函数放在外部js文件中也适用于我。

<强> HTML:

<script type="text/javascript" src="Js/demo.js"></script>

<ajax:ScriptManager ID="ScriptManager1" runat="server" >
</ajax:ScriptManager>
<asp:RadioButton ID="rbNewUnit" runat="server" CssClass="rbNewUnit"  Text="New Unit" GroupName="categotyOfUnit" />

确保您已正确引用外部JS文件。

<强> JS:

function pageLoad(){
   alert($('[id$=\'rbNewUnit\']').attr('id'));
    $('[id$=\'rbNewUnit\']').attr('checked', 'checked');
   alert($('[id$=\'rbNewUnit\']').attr('checked'));
}

它将找到id以 rbNewUnit 结尾的元素。我一直保持警惕,以便您可以查看可能需要调试的问题。根据您的要求删除警报并更改代码。

答案 1 :(得分:0)

Working jsFiddle Demo

您必须在文档中编写函数体:

$(function () {
    $('.rbNewUnit').prop('checked', true);
});
  • 在这种情况下,最好使用prop而不是attr(如果您使用的是jQuery 1.6 +)。

参考文献:

答案 2 :(得分:0)

$('#' + '<%=YourRadioButton.ClientID %>').attr('checked', 'checked');

对于jQuery 1.6或更高版本使用

$('#' + '<%=YourRadioButton.ClientID %>').prop("checked", true)

希望这可以帮助你

答案 3 :(得分:0)

function pageLoad(){
$('.rbNewUnit').attr('checked', true);
}
 window.onload = function(){pageLoad()}