2015-07-20 42 views
0

我想動態改變的DateTimePicker jQuery插件的(http://xdsoft.net/jqplugins/datetimepicker/)的語言,我得到了lang1「未定義」的錯誤,最後裏面的插件調用:更改語言動態的DateTimePicker jQuery插件

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Datatimepicker</title> 
<link rel="stylesheet" href="css/jquery.datetimepicker.css"> 
    <script src="js/jquery-2.1.1.min.js"></script> 
    <script src="js/jquery.datetimepicker.js"></script> 
</head> 
<body> 
    <input id="datetimepicker" type="text" placeholder="Datetimerpicker"> 
    <input id="lang" type="text" placeholder="language" value="en"><div class="select">select language</div> 
    <script> 
      var lang1; 

     $(".select").click(function(){ 
     lang = $('#lang').val(); 
     lang1 = '"'+lang+'"'; 
     return lang1 
     }); 

     $(".select").click(function(){ 
      console.log(lang1); 
     $('#datetimepicker').datetimepicker({ 
      lang: lang1 
     }) 
     }); 
    </script> 
</body> 
</html> 

不應該工作嗎?

回答

1

您定義了兩個點擊處理程序,您希望有點神奇地交換lang1變量。

也許你打算在:

$(".select").click(function(){ 
     var lang = $('#lang').val(); // 1 
     console.log(lang); // 2 
     $('#datetimepicker').datetimepicker({ lang: lang }); // 3 
    }); 
  1. 獲取從輸入字段中的當前值郎#lang
  2. 它登錄到控制檯
  3. 初始化日期選擇器使用的語言lang
+0

我使用了兩個事件處理程序來解決我之前遇到的另一個問題(我將處理該問題並按照您的說法進行操作)。但請注意,我的Datepicker不是您所指的那個(請參閱上面的鏈接)。不過,我在第二個事件處理程序(我知道這是因爲console.log輸出正常)而得到lang1,但不在插件調用中。這就是我的頭腦混亂。 –

+0

@PauloJaneiro:明白了。我讀得太快了,以爲你使用了JQueryUI datepicker。我糾正了答案。 – wero

+0

它使用您的代碼正常工作,謝謝!但是你能解釋爲什麼我的代碼lang1存在於第二個事件處理程序中的console.log中,但在插件調用中不起作用?通過使用任何函數外部聲明的全局變量不應該這樣做嗎? –