我有TextBox
动态生成GridView
。当您检查页面时,TextBox
如下所示。我正在尝试找到一种方法来定位此TextBox
以及此TextBoxes
中的所有其他GridView
,以便我可以针对它们运行脚本。我找到一种能够定位此文本框的方法很困难。我尝试将样式类设置为GridView
并调用它,但它似乎不起作用。
<input name="ctl00$MainContent$controlProductsList1$gvItems$ctl04$Option-30482_e0edc10a-7dba-40d0-a4f1-7c4c5801c0ca" type="text" id="MainContent_controlProductsList1_gvItems_Option-30482_e0edc10a-7dba-40d0-a4f1-7c4c5801c0ca_2">
使用javascript定位在GridView中动态生成的TextBox的最佳方法是什么?
你能给gridview一个类并单独调用那个类吗?
这是需要定位输入的脚本
$('#inputID').keyup(function(){
this.value = this.value.toUpperCase();
});
答案 0 :(得分:1)
其中一个想法可能是在文本框上放置一个css类。如果它是由您的代码动态生成的 然后在jQuery中使用类选择器。
$('.inputcss').keyup(function(){
this.value = this.value.toUpperCase();
});
甚至您可以使用gridview的id
并在gridview中找到input:text并使用您的函数。以下是示例代码
$('#<%=grid.ClientID%>')
.find('tr')
.each(function(row) {
$(this).find('input')
.each(function(col) {
$(this).keyup(function(){
this.value = this.value.toUpperCase();
});
}
});
});
});
如果你只想以大写字母显示,你可以使用css如下
h1 {text-transform:uppercase;}
更多详情
答案 1 :(得分:1)
由于您似乎在使用jQuery,请在JQuery selector页面上查看您的选项。一种选择是使用通用input selector,如:
$("#<%=gvItems.ClientID%> :input").keyup(function(){
this.value = this.value.toUpperCase();
});
上面的代码假定您的控件名为gvItems,并将呈现网格视图的客户端ID,以便在JQuery ID选择器中使用(#MainContent_controlProductsList1_gvItems ...)并查找所有输入子元素(:input)。
另一个选择是将一个类直接放在输入控件上:
$(".inputClass").keyup(function(){
this.value = this.value.toUpperCase();
});