【发布时间】:2011-05-26 13:31:45
【问题描述】:
我如何能够获取已被母版页修改的 asp:LinkButton 的 ID,以便我可以使用 javascript/jQuery 模拟点击?
通常,这样,我会获得 'ctl05_butSaveAssociation' 作为 '_id' 的值:
function ClickSaveButton() {
var _id = $('a[id$="butSaveAssociation"]').attr("ID");
__doPostBack(_id, '');
return false;
}
这不起作用,因为 ID 出于某种原因再次更改,正如我们使用 FireBug 并将鼠标悬停在我们拥有的 asp:LinkButton 上看到的那样:
<a style="border-style: none; display: inline-block;" href="javascript:__doPostBack('ctl05$butSaveAssociation','')" class="CommandButton" id="ctl05_butSaveAssociation" onclick="SaveAssociation();" tabindex="0">Save</a>
所以事实上,如果我对正确的 ID 进行硬编码,它可以使用:
function ClickSaveButton() {
var _id = "ctl05$butSaveAssociation"; // hardcoded
__doPostBack(_id, '');
return false;
}
如何使用 jQuery 动态实现这一点?
【问题讨论】:
-
您的原始代码应该可以工作...
$=应该使它选择<a />s 和ids,以"butSaveAssociation"结尾,这你的控制仍然有效。您确定将代码正确复制到 StackOverflow 中吗? -
SaveAssociation方法在哪里? -
是的,我很确定。请查看顶部的第二段摘录,查看回发参数中发送的内容,注意美元符号而不是下划线!这就是问题所在……
-
SaveAssociation在这种情况下无关紧要...... -
不过没关系;
"ctl05$butSaveAssociation"仍然以"butSaveAssociation"结尾,所以$=应该仍然可以选择它。我一定是错过了什么,但我看不到什么......
标签: javascript jquery asp.net postback linkbutton