2014-11-14 61 views
0

我已經從http://jqueryui.com/spinner/的timespinner的示例代碼中導出了此示例。我無法讓它工作。jQueryui timespinner示例給出了未定義的錯誤

<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>jQuery UI Spinner - Time</title> 
<script src="/jquery-2.1.0.min.js"></script> 
<script src="/jquery-ui-1.11.2/jquery-ui.min.js"></script> 
<script src="/resources/jquery-mousewheel-master/jquery.mousewheel.js"></script> 
<script src="/resources/globalize-1.0.0-alpha.10/dist/globalize.js"></script> 

<script> 
    $.widget("ui.timespinner", $.ui.spinner, { 
      options: { step: 60 * 1000, page: 60 }, 

      _parse: function(value) { 
        if (typeof value === "string") { 
          if (Number(value) == value) { 
            return Number(value); 
          } 
          return +Globalize.parseDate(value); 
        } 
        return value; 
      }, 
      _format: function(value) { 
        return Globalize.format(new Date(value), "t"); 
      } 
    }); 

    $(function() { 
      $("#spinner").timespinner(); 
      $("#culture").change(function() { 
        var current = $("#spinner").timespinner("value"); 
        Globalize.culture($(this).val()); 
        $("#spinner").timespinner("value", current); 
      }); 
    }); 
</script> 
</head> 
<body> 

<p> <label for="spinner">Time spinner:</label> <input id="spinner" name="spinner" value="08:30 PM"> </p> 
<p> 
<label for="culture">Select a culture to use for formatting:</label> 
<select id="culture"> 
<option value="en-EN" selected="selected">English</option> 
<option value="de-DE">German</option> 
</select> 
</p> 

<div class="demo-description"> 
<p> 
A custom widget extending spinner. Use the Globalization plugin to parse and output 
a timestamp, with custom step and page options. Cursor up/down spins minutes, page up/down 
spins hours. 
</p> 
</div> 
</body> 
</html> 

在Chrome中,我得到: 遺漏的類型錯誤:未定義是不是一個函數

在Firefox中,我得到: 類型錯誤:Globalize.parsedate不是一個函數

兩者都是在行,return +Globalize.parseDate(value);

腳本標記中的所有腳本位置都是正確的。我沒有得到其他錯誤。微調器的上/下箭頭缺失。

我是否缺少腳本?

+1

不完全確定'globalize.js'包含了什麼,但是它的github頁面顯示它有'core'和'date'的不同模塊(以及'number'和'plural',但它們在這裏似乎不相關)所以我會仔細檢查你確實包括了所需的一切 – blgt 2014-11-14 16:41:51

+0

我確實需要德國文化腳本。謝謝。 – PDog 2014-11-15 19:57:53

回答

1

首先你的腳本不應該在你的腦海。你應該總是把它加載到你的dom下面,因爲加載一個腳本塊來渲染頁面。有關更多信息,請參閱https://developers.google.com/speed/docs/insights/BlockingJS。我盡我所能複製了您的代碼,並且沒有任何問題。我會建議看看你的全球化文件。我使用CDN的所有我加載的文件,並使用http://cdnjs.com/libraries/globalize作爲globalize.js文件。所以仔細檢查你的globalize.js或提供一個鏈接,以便我可以看看它。希望有所幫助。

+0

使用cdnjs.com中的globalize.js工作。 – PDog 2014-11-15 20:01:53

相關問題