2014-09-19 50 views
0

我正在使用ASP.Net MVC中的預訂系統,其中我有來自jQuery UI的DatePicker。 我希望用戶按下一個叫做的按鈕,比如說add,我希望DatePicker的值存儲在一個列表中,然後傳遞給控制器​​。我試圖尋找一個解決方案,但找不到合適的解決方案。將datepicker中的值添加到MVC中的列表中

+0

由於您使用jQuery,爲什麼不把添加按鈕'將日期排到JavaScript數組中。當用戶完成添加日期時,只需將該陣列發送到服務器。 – 2014-09-19 09:27:11

+0

你能對你的問題更具體嗎?需要將哪些值添加到列表中?如果要將選定的日期添加到列表中,則可以使用JQuery datepicker的onSelect事件,然後將選中的元素添加到JS對象中。然後稍後使用JS對象使用AJAX進行POST到服務器。 – ramiramilu 2014-09-19 10:22:40

回答

0

我會做的只是創建一個JavaScript數組,並將推入你想添加的日期。然後,當你想要你提交使用ajax該數組(無論你需要多少)到你的控制器。

在我創建的片段中,我嘗試複製該行爲。

首先我創建了一個IFFE,因爲我不想用我的數組變量來污染全局作用域(但可以通過其他方式實現,例如使用名稱空間)。然後我就像我理解你將使用它一樣創建添加按鈕,並且通過在此情況下創建的ajax調用將列表提交給控制器的那一刻複製一個按鈕,該按鈕將數組變量記錄到控制檯(你可以看到它在打開或crhome相當於開發工具爲您的瀏覽器)

希望它可以幫助

(function() { 
 
    var dates = []; 
 

 
    $(function() { 
 
     $(".datepicker").datepicker(); 
 
    }); 
 

 
    $('#addButton').click(function() { 
 
     dates.push($('#date1').datepicker('getDate')); 
 
    }); 
 

 
    $('#logButton').click(function() { 
 
     console.log(dates); 
 
    }); 
 
}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> 
 
<link href="https://code.jquery.com/ui/1.11.1/themes/black-tie/jquery-ui.css" rel="stylesheet"/> 
 
<div> 
 
    <label>Date 1</label> 
 
    <input type="text" id="date1" class="datepicker"> 
 
</div> 
 
<button id="addButton">Add date</button> 
 
<button id="logButton">Log</button>

+0

謝謝,你知道ajax代碼如何看起來像這個對象? – grimsan55 2014-09-22 11:15:57

0

您可以在隱藏字段中追加值,然後將隱藏字段中的值傳遞給控制器​​。你需要維護列表