ASP.NET RadioButtonGroup的Javascript或JQuery
我只需要从客户端的radiobuttongroup中获取所选索引。然而,我对Javascript/JQuery还很陌生,遇到了一些看起来很奇怪的行为。我在同一张表中有一个dropdownlist和一个radiobuttongroup。在我的脚本中,我有以下内容:ASP.NET RadioButtonGroup的Javascript或JQuery,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我只需要从客户端的radiobuttongroup中获取所选索引。然而,我对Javascript/JQuery还很陌生,遇到了一些看起来很奇怪的行为。我在同一张表中有一个dropdownlist和一个radiobuttongroup。在我的脚本中,我有以下内容: var ddlStatuses = $find("<%= ddlStatuses.ClientID %>"); var rbgAssetClass = $find("<%= rbgAssetClass.ClientID
var ddlStatuses = $find("<%= ddlStatuses.ClientID %>");
var rbgAssetClass = $find("<%= rbgAssetClass.ClientID %>");
var-ddlstatus=$find(“”);
var rbgAssetClass=$find(“”);
第一个$find正如我所期望的那样工作,但是第二个返回null
所以有两个问题。找到我的radiobuttongroup并获取其所选索引的最佳方法是什么?为什么$find在同一个表中查找这些控件中的一个而不是另一个
谢谢
编辑以显示aspx:
<asp:Panel ID="pnlSelectRoom" CssClass="pnlSelectRoom" runat="server" Width="930px">
<asp:Table ID="Table1" runat="server" class="tblSelectRoomLayout" Width="100%">
<asp:TableRow>
<asp:TableCell>
<asp:Label ID="Label6" runat="server" Text="Data Center" Font-Size="Small" </asp:Label>
</asp:TableCell>
<asp:TableCell>
<asp:DropDownList Width="225px" ID="ddlDataCenter" runat="server" onchange="PopulateRooms(this);"
ZIndex="9001" Font-Size="Small" DataValueField="Id" DataTextField="Name" >
</asp:DropDownList>
</asp:TableCell>
<asp:TableCell>
<asp:Label ID="Label7" runat="server" Text="Room" Font-Size="Small"></asp:Label>
</asp:TableCell>
<asp:TableCell>
<asp:DropDownList Width="225px" ID="ddlRooms" runat="server" ZIndex="9001" Enabled ="false">
</asp:DropDownList>
</asp:TableCell>
<asp:TableCell>
<asp:Label ID="Label8" runat="server" Text="Asset Status"></asp:Label>
</asp:TableCell>
<asp:TableCell>
<telerik:RadComboBox Width="225px" runat="server" ID="ddlStatuses" DataValueField="ID"
DataTextField="Text" CheckBoxes="true" EnableCheckAllItemsCheckBox="True" ZIndex="9001" CausesValidation="false">
</telerik:RadComboBox>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow Width="100%">
<asp:TableCell ColumnSpan="6" HorizontalAlign="Center">
<asp:RadioButtonList CssClass="checkBoxAlign" ID="rbgAssetClass" runat="server" AutoPostBack="false"
RepeatDirection="Horizontal"
Font-Size="Small">
<asp:ListItem Selected="True">Base Assets </asp:ListItem>
<asp:ListItem>Contained Assets </asp:ListItem>
<asp:ListItem>SubContained Assets</asp:ListItem>
<asp:ListItem>All Assets </asp:ListItem>
</asp:RadioButtonList>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:Panel>
你可以像下面这样做
在JavaScript中,控件的位置、内容页或母版页都无关紧要
<asp:CheckBoxList ID="chkModuleList"runat="server" />
<asp:CustomValidator runat="server" ID="cvmodulelist"
ClientValidationFunction="ValidateModuleList"
ErrorMessage="Please Select Atleast one Module" />
// javascript to add to your aspx page
function ValidateModuleList(source, args)
{
var chkListModules= document.getElementById ('<%= chkModuleList.ClientID %>');
var chkListinputs = chkListModules.getElementsByTagName("input");
for (var i=0;i<chkListinputs .length;i++)
{
if (chkListinputs [i].checked)
{
args.IsValid = true;
return;
}
}
args.IsValid = false;
}
您可能希望在这些复选框的容器上添加(或使用)一个id,以优化选择器速度。
对于asp.net在控件上弄乱客户端ID,您可以使用
$('<%= MyControl.ClientID %>')
$(“”)
参考资料:
请注意,HTML中没有RadioButtonList,因此当您编写时,$find(“”)代码>您可能无法获得预期的结果。检查生成的HTML以查看要查找哪个ID,或添加有关要完成的任务的更多信息是否可以使用readio按钮发布asp代码?好的,这很有意义。RadioButtonList呈现为具有相同ID的表。即使名称“MainContent\u ctl00\u rbgAssetClass”正确,但它不是具有项目列表的对象。这就是为什么我需要Shekhar的答案来获取输入。弄乱的不是ClientID,只是没有为radiobuttonlist渲染对象,只有一个RadioButton表。但是您提供的访问单选按钮并检查checked属性的方法非常有效。谢谢
$('<%= MyControl.ClientID %>')