2014-11-06 51 views
0

我在我的網站上有一個日期選擇器。現在我想禁用每個星期日,我也會指定dateformat。我想禁用每個星期天並指定DateFormat datepicker

當我嘗試它分開它的作品,但當我混合它失敗。我怕這裏有錯。我測試了這裏所有的工作,而不是在我的網站:http://jsfiddle.net/zXFGN/26/

這是我的代碼:

<script> 
$(function() { 
$("#datepicker").datepicker({ 
minDate: -0, 
maxDate: "+24M", 
dateFormat: "dd-mm-yy" 
}); 
}); 

$("#datepicker").datepicker({ 
    beforeShowDay: noSunday 
}); 

function noSunday(date){ 
     var day = date.getDay(); 
        return [(day > 0), '']; 
    }; 
</script> 

HTML

<input type="text" name="date" id="datepicker" value="" size="10" placeholder="dd- mm-yyyy"> 

我試過很多東西,但沒有什麼幫助。所以請我希望有人能幫助我。

在此先感謝!

親切的問候,

Hajee

+0

您是否檢查過瀏覽器控制檯是否有任何腳本錯誤?你確定**你的代碼與你的JsFiddle相比是相同的嗎? – urbz 2014-11-06 13:19:52

+0

沒有腳本錯誤,我把它粘貼在我的源代碼中... – Hajee 2014-11-06 15:25:53

回答

0

你的jsfiddle 工作,因爲選定的日期的格式是不是在你的代碼中指定的格式。問題在於你撥打.datepicker({/*options*/})兩次,第二次電話覆蓋您在第一次通話中設置的選項。初始化的日期選擇器時,指定所有的選項在一個單一的呼叫:

$(function() { 
    $("#datepicker").datepicker({ 
    minDate: -0, 
    maxDate: "+24M", 
    dateFormat: "dd-mm-yy", 
    beforeShowDay: noSunday 
    }); 
}); 

如果您確實需要更新後的日期選擇器已初始化選項,那麼你就需要使用option方法,就像這樣:

$('#datepicker').datepicker("option", "beforeShowDay", noSunday); 

或者,如果你想在同一時間更新一個以上的,通過這樣的更新選項的對象:

$('#datepicker').datepicker("option", { 
    beforeShowDay: noSunday 
}); 

jsFiddle引起了第二點混淆。您已將它設置爲在DomReady上運行,這意味着jsFiddle會創建一個DOM就緒回調來執行您的代碼。這不是常規網頁中的代碼工作方式;您需要將全部代碼依賴於jQuery的DOM準備好處理程序內準備好的DOM,就像您第一次調用$("#datepicker").datepicker({})但不是第二次。