将 .net 按钮控件 ID 传递给 JavaScript 函数
Passing a .net button control Id to a javascript function
我正在尝试将 asp.net 按钮控件的 id 传递给 javascript 函数。当我调用 js 函数start_time时,按钮的文本需要更改。我做了很多研究,但我仍然无法让它工作。任何帮助或建议将不胜感激。下面是我的代码。
<asp:Button ID="btnStart" runat="server" Text="OK" />
$("#btnStart").click(function () {
start_time("btnStart");
});
function start_time(controlStart) {
var a = document.getElementById(controlStart);
a.innerHTML = "Start";
}
<asp:Button ID="btnStart" ClientIDMode="Static" runat="server" Text="OK" />
$("#btnStart").click(function () {
start_time("btnStart");
});
function start_time(controlStart) {
var a = document.getElementById(controlStart);
a.innerHTML = "Start";
}
如果将ClientIDMode1
设置为 static
,它应该可以工作。 http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode(v=vs.110).aspx
我发现在客户端选择 ASP.net 控件的最简单方法是这样的......
$("[ID$=btnStart]").click(function() {
start_time(this);
});
在此代码中,您将按钮传递到函数 start_time
中,因此您无需在 DOM 中搜索它...
function start_time(control) {
control.innerHTML = "Start";
}
由于 ASP.net 对控件执行的 ID 前缀,因此 ID 可以在不同的上下文中因页而异。 该选择器基本上选择ID以btnStart结尾的每个元素。
还有其他方法,例如使用 ClientID,但这可能意味着将 ASP 与 JS 文件混合,具体取决于脚本实际运行的位置。
如果此脚本直接在页面上运行,而不是从包含的 js 文件运行,那么您可以执行以下操作...
$("#<%= btnStart.ClientID %>").click(function() {
start_time(this);
});
这将通过在服务器上解析页面时给出的 ID 选择按钮。
@Archer答案几乎是正确的,但你应该像这样使用ClientID..!!
$('#' + '<%= btnStart.ClientID %>').click(function() {
start_time(this);
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在全局范围中查找JavaScript函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 如何调用这个匿名 JavaScript 函数
- 通过Ajax将JavaScript函数传递给PHP文件
- 在javascript函数中设置全局变量
- 如何在执行此特定onclick事件时执行JavaScript函数
- 使用javascript函数在页面初始化后加载jquery
- javascript函数同步
- 如何将一个JavaScript函数回调为多个函数
- 在javascript函数中使用php变量
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 将JavaScript函数与HTML分离
- 组合两个javascript函数
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- javascript函数内部的代码用逗号而不是分号分隔
- href属性内的javascript函数
- 使用html表单中的参数调用JavaScript函数
- 分析Javascript函数中的多个对象
- javascript函数的:和=之间的区别