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