[英]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.