2016-02-04 66 views
0

我試圖獲得從date_select所選日期:調用.val()on date_select元素返回undefined?

<%= form_for(@newevent) do |f| %> 

     <%= f.date_select :day, { id: "date-select"} %> 

     <button id="check-button" type="button">Check</button> 

<% end %> 

使用JQuery /使用Javascript:

$(document).on('click', "#check-button", function(){ 

var selectedDate = $("#date-select").val(); 

alert(selectedDate); 

var checkList = []; //creates array to store customer ids 
$("#check-list li input").each(function(){ //for each listed colleague... 
    if($(this).is(":checked")){ //if check-box is ticked 
     checkList.push($(this).val()); //add id to list 
    } 
}); 

$.ajax({ 
     url: '/events/check', 
     data: {checkList: checkList , selected_date: selectedDate }, 
     method: "POST" 
    } 
); 

});

參考這裏是:day在我的移民文件中定義:

class CreateEvents < ActiveRecord::Migration 
    def change 
    create_table :events do |t| 

     t.timestamps 
     t.references :calendar, foreign_key: true 
     ... 

     t.date :day 

     ... 

    end 

然而,在警報的返回值爲「undefined」。這是爲什麼發生?我希望它能以YYYY-MM-DD的形式返回一個值。道歉,如果這是顯而易見的,但我是編程新手,似乎無法自己修復這一個

+1

可能是因爲運行該代碼時元素不存在。請顯示完整的上下文。這段代碼不足以排除 – charlietfl

+0

的問題#charlietfl ok我將編輯我的問題 –

+0

該代碼使得它看起來像具有相同「日期選擇」標識的多個dom元素。 – Luke3butler

回答

0

Date_select,根據rails api「返回一組選擇標記(一年,一個月和一天) 」。您的JavaScript將不得不處理三個單獨的選擇,並從他們構建一個日期。查看您生成的HTML以獲取該ID。

+0

好吧,你知道JS/JQuery中的任何有用的方法可以幫助嗎? –

+0

@SCraig這裏沒有JS/JQuery方法。使用Chrome/Firefox開發人員工具來查看源代碼,並使用控制檯查看$(「#date-select」)實際包含的內容。 – Luke3butler