JQUERY:按控件ID查找

时间:2011-03-20 19:03:52

标签: jquery asp.net

目前我的aspx页面包含

<input type="text" name="openid_username" />
<input type="text" name="openid_identifier" />

但现在我想用

替换它们
<asp:TextBox ID="openid_username" runat="server"></asp:TextBox>
<asp:TextBox ID="openid_identifier" runat="server"></asp:TextBox>

那么我该如何修改以下JQUERY,以反映输入框到文本框的替换?

  var $usr = $this.find('input[name=openid_username]');
  var $id = $this.find('input[name=openid_identifier]');

6 个答案:

答案 0 :(得分:8)

我会在属性选择器上使用“ends with”选项,以防名称被控件放在容器中。请注意$=而不是=

var $usr = $this.find('input[name$=openid_username]');
var $id = $this.find('input[name$=openid_identifier]');

答案 1 :(得分:3)

如果您想要控件的确切ID,可以执行以下操作:

var $usr = $this.find('#<%= openid_username.ClientID %>');
var $id = $this.find('#<%= openid_identifier.ClientID %>');

当然,这是假设您的JS不在外部文件中。

答案 2 :(得分:2)

 var $usr=$("#openid_username");

应该工作或尝试

 var $usr = $('[id*=openid_username]');

答案 3 :(得分:1)

我不确定但是如果ID转换为元素ID属性(即在aspx生成的html中变为<input type="text" id="openid_username">,我会选择:

var $usr = $("#openid_username");

答案 4 :(得分:0)

var $usr = $this.find('#openid_username');
var $id = $this.find('#openid_identifier');

答案 5 :(得分:0)

我会采用以下方法来实现这一目标:

var $usr = $("input[id$='openid_username']");
var $id = $("input[id$='openid_identifier']");