簡體   English   中英

根據Visual Studio 2010,jQuery函數“未定義”

[英]jQuery Function “undefined” according to Visual Studio 2010

這可能是一個關於jQuery UI和Javascript的非常簡單的問題,但是我仍然對這些語法感到滿意。 每當我的C#(ASP.NET)程序達到不同功能的特定點時,我都試圖更新jQuery進度欄。 我這樣做正確嗎? 我可以在頁面上看到空白的進度欄,但無法獲取它來更新進度。

這是我的腳本:

  <script type="text/javascript">
  $(document).ready(function() {
    $("#progressbar").progressbar({ value: 0 });
  });

function updateProgress(number) {
        if (number < 100) {
            $("#progressbar").progressbar("value", number);
        }
    }
</script>

以下是我的一些腳本參考:

 <link href="Styles/tomcat.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="colorbox.css" />
<script src="Scripts/jquery-1.7.2.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.21.custom.js" type="text/javascript"></script>
<script type="text/javascript" src="Scripts/jquery.colorbox.js"></script>
<link href="Content/themes/base/jquery.ui.progressbar.css" rel="stylesheet" type="text/css" />
<link href="Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery.ui.core.js" type="text/javascript"></script>
<link href="Scripts/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery.ui.progressbar.js" type="text/javascript"></script>
<link href="Scripts/ui.all.css" rel="stylesheet" type="text/css" />

這是我嘗試通過C#函數使用updateProgress()函數的地方。 我正在嘗試將“ 10%”發送到進度條,但調試器出錯並說未定義updateProgress()。

 ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>UpdateProgress(10);</script>", false);

編輯:我添加了以下布爾值來繞過頁面刷新和刷新進度條。

 var runOnce = new Boolean;
runOnce = false;
$(document).ready(function() {
    if(!runOnce)
    {
        $("#progressbar").progressbar({ value: 0 });
        runOnce = true;
    }
});

我認為它沒有用。 每次頁面加載時,它仍然清除並將其設置為零。

javascript區分大小寫。 將函數聲明更改為UpdateProgress或將注入更改為updateProgress

我也相信您應該在腳本標簽上包含type="text/javascript" -語言是已棄用的屬性。 相關: 腳本標記中的“ lang”和“ type”屬性有什么區別?

編輯:處理進度被覆蓋:

var progressAlreadySet;

$(document).ready(function() {
    $("#progressbar").progressbar(); // initialize

    if (!progressAlreadySet) {
        $("#progressbar").progressbar("value", 0);
    }
});

var updateProgress = function (number) {
    if (number < 100) {
        progressAlreadySet = true;
        $("#progressbar").progressbar("value", number);
    }
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM