[英]How can I get dynamic Timepicker values in javascript
因此,我在使用Kendo UI MVC來創建一種請求類型。 但是,用戶控件的數量是動態的,並且取決於用戶想要發出的該類型的請求數量。 因此,要創建它們,我需要這樣做:
@while(number!=numberAdds){
<br />
<label style="margin-right:1em;margin-top:1.5em">Start time:</label>
@(Html.Kendo().TimePicker()
.Name("startTime"+(number+1))
.Min("8:00")
.Max("19:50")
.Interval(10)
)
<label style="margin-left:2.5em; margin-right:1em">End time:</label>
@(Html.Kendo().TimePicker()
.Name("endTime"+(number+1))
.Min("8:10")
.Max("20:00")
.Interval(10))
number++;}
而且有效。 現在,當我單擊“提交”按鈕時,我想要做的是創建一個StartTimes和EndTimes數組,以便可以通過Ajax Post將其發送到控制器。 但是,由於TimePickers ID,我無法執行此操作。 我正在嘗試做這樣的事情:
$(document).on("click", "#confirm-request", function (e) {
var date = $("#date").data("kendoDatePicker").value();
var stringDate = kendo.toString(date, "yyyy-MM-dd");
var number = 0;
var numberAdds = parseInt(document.getElementById("number-adds").textContent);
var timeStartStrings = new Array();
var timeEndStrings = new Array();
for (number; number < numberAdds; i++) {
var startTime = $("#startTime"+number).data("kendoTimePicker");
var endTime = $("#endTime"+number).data("kendoTimePicker");
var timeStartString = kendo.toString(startTime.value(), 'yyyy-MM-dd hh:mm');
var timeEndString = kendo.toString(endTime.value(), 'yyyy-MM-dd hh:mm');
timeStartStrings[number] = timeStartString;
timeEndStrings[number] = timeEndString;
}
但是我無法獲取StartTime和EndTime的值,我總是無法定義,並且我知道這是因為$(“#startTime” + number).data(“ kendoTimePicker”);
我能做什么? 謝謝 :)
剃刀代碼(頂部代碼塊)中的number
變量是否最初以-1
開始(因為.Name("startTime"+(number+1))
?否則,您的javascript代碼將在其第一次迭代中嘗試查找$("#startTime0")
不存在,這可能會導致錯誤,從而停止執行JS函數。
因此,請檢查DOM中存在的名稱與Javascript詢問的名稱,並確保它們正確對齊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.