更新: asp.net
<asp:RadioButtonList runat="server" ID="rbl" RepeatDirection="Horizontal">
<asp:ListItem Text="None" Value="0" Selected="True" Enabled="true" />
<asp:ListItem Text="Float" Value="1" Selected="False" Enabled="true" />
<asp:ListItem Text="Float1" Value="2" Selected="False" Enabled="true" />
<asp:ListItem Text="Center" Value="3" Selected="False" Enabled="false" />
</asp:RadioButtonList>
当我查看源代码时,它就是呈现的内容:
$('#ctl00_ctl00_ContentMain_rbl').hover(
function (){
$('#div1').dialog({title: "some title"});
$('#div1').dialog('open');
}
);
正确的clientid是:ctl00_ctl00_ContentMain_rbl_0, ctl00_ctl00_ContentMain_rbl_1, ctl00_ctl00_ContentMain_rbl_2
代码不起作用,当我尝试读取它时,它没有给我正确的ClientID名称...这个问题的另一种方法是什么,定义类名???
$('#<%= rbl.ClientID %>').hover(
function (){
$('#div1').dialog({title: "Float Images Left"});
$('#div1').dialog('open');
} );
答案 0 :(得分:2)
是的,最简单的方法是使用jQuery为要查找的所有组件定义class
。
另一种方法是使用attribute ends with selector:
$('[id$="_rbl"]').hover( // Etc.
但如果你在另一个容器中有另一个rbl
,它可能会导致问题。
请记住,RadioButtonList中的项目将是输入,然后您可以执行:
$('[id$="_rbl"] input:enabled').hover( // Etc.
因此,如果您为RadioButtonList
定义了一个类:
$(".myclass input:enabled").hover( // Etc.
答案 1 :(得分:0)
如果您想在单选按钮上执行某些操作,则必须定位输入
$('#<%= rbl.ClientID %> input').hover(
function (){
$('#div1').dialog({title: "Float Images Left"});
$('#div1').dialog('open');
}
);
答案 2 :(得分:0)
这就是我如何实现我想要的目标。
为每个列表项定义类
<asp:RadioButtonList runat="server" ID="rbl" RepeatDirection="Horizontal">
<asp:ListItem class="rb0" Text="None" Value="0" Selected="True" Enabled="true" />
<asp:ListItem class="rb1" Text="Float" Value="1" Selected="False" Enabled="true" />
<asp:ListItem class="rb2" Text="Float1" Value="2" Selected="False" Enabled="true" />
<asp:ListItem class="rb3" Text="Center" Value="3" Selected="False" Enabled="false" />
</asp:RadioButtonList>