我正在维护一些旧的c#代码,并且有一个asp:RadioButtonList ...
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
...在后面的代码中填充如下:
<asp:RadioButtonList AutoPostBack="false" TextAlign="Right" RepeatDirection="Horizontal" RepeatLayout="Flow" runat="server" ID="radIncidentType" />
因此,添加的每个项目都有说明,代码和额外属性 public static void PopulateRBL(string ListName, ref RadioButtonList ListToPopulate)
{
List<Lookup> radioList = GetLookup(ListName); //returns
foreach (Lookup entry in radioList)
{
ListItem item = new ListItem(" " + entry.Description + " ", entry.Code);
item.Attributes.Add("ItemId", entry.Id.ToString());
ListToPopulate.Items.Add(item);
}
}
。
然后在onChange上执行了一些验证,它必须询问ItemId属性。目前是这样的:
ItemId
在我添加嵌套母版页并使其正常工作之前哪个工作正常我必须将选择器更改为:
$('#ctl00_cphPage_radIncidentType input[type=radio]:checked').closest('span').attr('ItemId')
显然我想要一个更整洁的选择器,我试过了:
$('#ctl00_ctl00_cphPage_nestedPage_radIncidentType input[type=radio]:checked').closest('span').attr('ItemId')
和......
$('#<%= radIncidentType.ClientID %> input[type=radio]:checked').closest('span').attr('ItemId')
......但是都没有工作。任何人都可以建议一种获取$("input[name='<%=radIncidentType.UniqueID%>']:radio:checked").closest('span').attr('ItemId')
属性值的方法吗?
答案 0 :(得分:0)
当您想要ItemId
的值时,它不是很清楚。但是在这个片段中,一个监听器被添加到RadioButtonList,并在单击RadioButton时获取属性。
<script type="text/javascript">
$('#<%= radIncidentType.ClientID %> input[type="radio"]').click(function () {
var ItemId = $(this).closest('span').attr("ItemId");
alert(ItemId);
});
</script>
或外部触发的函数,用于从所选的RadioButton中获取属性。
<script type="text/javascript">
function getItemIdFromRadioButtonList() {
$('#<%= radIncidentType.ClientID %> input[type="radio"]:checked').each(function () {
var ItemId = $(this).closest('span').attr("ItemId");
alert(ItemId);
});
}
</script>
答案 1 :(得分:0)
我尝试了以下内容,它可以按预期工作......
$("[id$='_radIncidentType'] input[type=radio]:checked").closest('span').attr("ItemId")