我的网络应用上有一个名为Timer1和enabled = false
的计时器。我想用jquery来启动我的计时器。我认为$("Timer1").enableSelection('True');
会起作用,但它似乎不起作用。
这里有什么建议吗?
谢谢你们!
我的jquery代码:
var lastupdate;
$(function () {
$.ajaxSetup({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{}",
error: function (a, b, c) {
try {
var err = (JSON.parse(a.responseText)).Message;
alert(err);
}
catch (ero) {
alert(a.responseText);
}
}
});
// updateSettings();
$("#refreshBaan").click(function () {
$.ajax({
url: "Default.aspx/refreshBaan",
success: function (msg) {
$("#lastBaanUpdate").html("");
$("#lastBaanUpdate").progressbar({ value: 0 });
$("#refreshBaan").attr("disabled", "disabled");
//**
$(function () {
$("Timer1").enableSelection('True');
$("#progressbar").progressbar({ value: 0 });
setTimeout(updateProgress, 200);
});
function updateProgress() {
var progress;
progress = $("#progressbar")
.progressbar("option", "value");
if (progress < 100) {
$("#progressbar")
.progressbar("option", "value", progress + 2);
setTimeout(updateProgress, 200);
}
}`
我的C#:
<asp:Timer ID="Timer1" runat="server" Interval="17000"
ontick="Timer1_Tick" Enabled="False" />
答案 0 :(得分:1)
$("Timer1")
不是有效的选择器。它应该引用HTML标记,类或id。
例如:$("div")
或$("#Timer1")
o r $(".Timer1")
.....等等。
答案 1 :(得分:0)
我真的需要看一些代码......但看起来这可以解决问题:
$('#Timer1').removeAttr('disabled');
答案 2 :(得分:0)
其中包含文字runat="server"
的所有标记都是服务器端标记,无法通过您尝试在此处执行的方式直接操作。
计时器本身是一个AJAX控件,它通过Timer ASP.Net类的Render函数发出的javascript实现客户端,这会导致回发以指定的时间间隔发生。
通过查看Reflector中的System.Web.Extensions.dll(System.Web.UI.Timer类所在的程序集),它引用了“MicrosoftAjaxTimer.js”,它包含在嵌入式资源部分中。 DLL。在此文件中,似乎有一个名为Sys.UI._Timer.set_enabled()的函数,它似乎可以执行您想要的操作。
请记住,虽然您直接使用此处的实施详细信息,但Microsoft可随时对其进行更改。我建议不要使用JQuery,而是操纵Timer对象服务器端。