目前我的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]');
答案 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']");