如何使用javascript定位动态生成的文本框

How to target dynamic generated text boxes using javascript

本文关键字:文本 动态 何使用 javascript 定位      更新时间:2023-09-26

我有一个在GridView中动态生成的TextBox。检查页面时,TextBox如下所示。我正试图找到一种方法来针对这个TextBox和这个GridView中的所有其他TextBoxes,这样我就可以针对它们运行脚本。我很难找到一种针对这个文本框的方法。我尝试将样式类设置为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为目标的最佳方式是什么?

你能给网格视图一节课,然后单独调用那节课吗?

这是需要针对输入的脚本

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

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

$("#<%=gvItems.ClientID%> :input").keyup(function(){
      this.value = this.value.toUpperCase();
});

上面的代码假设您的控件名为gvItems,并将呈现网格视图的客户端ID以供JQuery ID选择器(#MainContent_controlProductList1_gvItems.)使用,并查找所有输入子元素(:input)。

另一种选择是将一个类直接放在输入控件上:

$(".inputClass").keyup(function(){
    this.value = this.value.toUpperCase();
});

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

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

或者,你甚至可以使用网格视图的id,在网格视图中找到输入:文本,然后使用你的函数。以下是的示例代码

 $('#<%=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