如何为jquery组合框设置TabIndex? 如果我为下拉列表框设置tabindex,则不会为jquery comobox设置。怎么做?
这是我的下拉列表:
<asp:DropDownList ID="DrpCountryName" runat="server" Width="138px">
</asp:DropDownList>
jquery代码:
$(function() {
$("#DrpCountryName").combobox();
$("#toggle").click(function() {
$("#DrpCountryName").toggle();
});
修改
如您所知,jquery组合框会隐藏dropdown
并创建input
和button
,并使用dropdown
的值填充它。所以我应该为tabindex
设置输入而不是dropdown
。怎么做?
答案 0 :(得分:1)
如果您正在使用ASP.NET并且想要使用该ID,则必须使用ClientIDMode属性(对于asp.net是唯一的)来获取正确的ID。
但是,我只是在控件中添加了一个类属性,以便轻松引用它,然后像这样编写jquery:
$(document).ready(function ()
{
$('.DrpCountryName .ui-combobox-input').attr("tabindex", 6);
});
.ui-combobox-input是您要设置tabindex的类,因为这是文本输入。如果页面上有多个jquery组合框,则需要该css类前缀。
答案 1 :(得分:0)
当您的网页呈现时,您的DropDownList
(<select>
)的ID不会是“DrpCountryName”,它会被修改为包含它所在的命名容器,所以类似于:“ ctl00_Panel_DrpCountryName”。
您应该将JavaScript更改为:
$("#<%= DrpCountryName.ClientID %>").combobox();
或者
$("select[name*='DrpCountryName']").combobox(); // contains "DrpCountryName"
$("select[name$='DrpCountryname']").combobox(); // ends with "DrpCountryName"
第一个将DropDownList
的实际客户端ID呈现到jQuery选择器中。第二个将找到<select>
列表,其名称包含或以“DrpCountryName”结尾。两者都应该没问题,不过第一个是头发更快。
如果在呈现页面后“查看源代码”,您可以看到ID和名称属性是什么。