簡體   English   中英

rails 3 jQuery UI Datepicker只想啟用特定日期

[英]rails 3 jQuery UI Datepicker want to enable only specific dates

我有一個注冊模型和使用日期選擇器的表格。 我希望用戶只能選擇與事件相對應的日期(另一個模型)。

我的問題是我找不到將事件數組傳遞給javascript的正確方法。

這是在控制器中:

@available_dates = Event.pluck(:start_time).as_json

這是在視圖中:

    <script>
       var availableDates = [<%= @available_dates.to_s.html_safe %>] ;
    </script>

這是js:

function available(date) {
    ymd = date.getFullYear() + "-" + ('0' + (date.getMonth()+1)).slice(-2) + "-" + ('0' + date.getDate()).slice(-2);
    console.log(ymd+' : '+($.inArray(ymd, availableDates)));
    if ($.inArray(ymd, availableDates) != -1) {
        return [true, "","Available"];
    } else {
        return [false,"","unAvailable"];
    }
}
$("#registration_date").datepicker({ beforeShowDay: available, dateFormat: "yy-mm-dd"});

我認為我在視圖中做錯了,因為從控制台看js數組似乎是空的...

任何幫助將不勝感激

在您提到的問題注釋中, @available_dates.to_s返回"[\\"2013-01-05\\", \\"2013-02-02\\", \\"2013-03-02\\"]" 這本身將在頁面上呈現數組,因此無需再次“裝箱”。

嘗試更改以下行:

var availableDates = [<%= @available_dates.to_s.html_safe %>] ;

對此:

var availableDates = <%= @available_dates.to_s.html_safe %>;

希望能幫助到你。

如果不是,那么您要么在代碼中@available_dates地方清除@available_dates的值, @available_dates在視圖的上下文中不使用@available_dates 讓您嘗試使用debugger;步執行代碼debugger;

暫無
暫無

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

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