0

我有一个动态TextBox生成的。GridView当您检查页面时,TextBox如下所示。我正在尝试找到一种方法来针对这个TextBox和所有其他目标TextBoxesGridView以便我可以针对它们运行脚本。我很难找到一种能够定位此文本框的方法。我尝试将样式类设置为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();
});
4

2 回答 2

1

其中一个想法可以是在文本框上放置一个 css 类。如果它是由您的代码动态生成的。
然后在你的 jQuery 中使用类选择器。

  $('.inputcss').keyup(function(){
               this.value = this.value.toUpperCase();
   });

甚至您可以使用idgridview 并在 gridview 中找到 input:text 并使用您的功能。下面是一个示例代码

 $('#<%=grid.ClientID%>')
 .find('tr')
 .each(function(row) {
      $(this).find('input')
            .each(function(col) {
                      $(this).keyup(function(){
               this.value = this.value.toUpperCase();
                  });

                  } 
             });
  });

}); 

编辑 1

如果您只想以大写形式显示,您可以使用 css,如下所示

 h1 {text-transform:uppercase;}

更多细节

http://www.w3schools.com/cssref/pr_text_text-transform.asp

于 2013-07-05T14:54:12.923 回答
1

由于您似乎在使用 jQuery,请在JQuery 选择器页面上查看您的选项。一种选择是使用通用输入选择器,例如:

$("#<%=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();
});
于 2013-07-05T15:01:34.563 回答