jQuery - 如何在 Kendo DatePicker 中设置今天的日期 Kendo 下拉列表值更改时的网格
jQuery - How do I set todays date on Kendo DatePicker inside Kendo Grid upon dropdown value change
背景:
我有一个 jQuery Kendo 网格,其中包含下面的列,我允许用户在批处理模式下进行内联编辑。
columns: [
{ field: "MedRecRcvd", title: "Med Rec Rcvd", width: "30px", editor: medRecRcvdDropDownEditor, template: "#=MedRecRcvd.MedRecRcvdName#" },
{
field: "dateReceived", title: "Date Rcvd", format: "{0:dd MMM yyyy}", width: 30, editor: function (container, options) {
var input = $("<input />");
input.attr("name", options.field);
input.appendTo(container);
input.kendoDatePicker({
});
}
}]
要求:
MedRecRcvd 下拉列表有 3 个可能的值。其中一项要求是当 MedRecRcvd 的选定值被选择为“是”时,然后将“dateReceived”设置为今天的日期。
这是我目前得到的:
对于 MedRecRcvd 下拉列表,我有一个编辑器功能,我试图在触发更改事件时分配今天的日期。如果 MedRecRcvd 的选定值为“Y”,我需要帮助将今天的日期分配给日期选择器。如您所见,我尝试了各种方法来获取 kendo 日期选择器的实例并设置一个值,但我现在几乎碰壁了。任何想法将不胜感激!
function medRecRcvdDropDownEditor(container, options) {
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
autoBind: true,
dataTextField: "MedRecRcvdName",
dataValueField: "MedRecRcvdId",
change: function (e) {
var value = this.value();
if (value != null && value == "Y") {
var grid = e.sender.element.closest(".k-grid").data("kendoGrid");
var row = e.sender.element.closest("tr");
var medRecdtPicker = e.sender.element.closest("[name='dateReceived']").data("kendoDatePicker");
medRecdtPicker.setDate(new Date());
}
},
dataSource: {
transport: {
read: function (e) {
e.success(datasource);
},
}
}
});
}
您可以直接给模型赋值。
例如
function medRecRcvdDropDownEditor(container, options) {
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
autoBind: true,
dataTextField: "MedRecRcvdName",
dataValueField: "MedRecRcvdId",
change: function (e) {
var value = this.value();
if (value != null && value == "Y") {
options.model.set('dateReceived', new Date())
}
},
dataSource: {
transport: {
read: function (e) {
e.success(datasource);
},
}
}
});
}
背景:
我有一个 jQuery Kendo 网格,其中包含下面的列,我允许用户在批处理模式下进行内联编辑。
columns: [
{ field: "MedRecRcvd", title: "Med Rec Rcvd", width: "30px", editor: medRecRcvdDropDownEditor, template: "#=MedRecRcvd.MedRecRcvdName#" },
{
field: "dateReceived", title: "Date Rcvd", format: "{0:dd MMM yyyy}", width: 30, editor: function (container, options) {
var input = $("<input />");
input.attr("name", options.field);
input.appendTo(container);
input.kendoDatePicker({
});
}
}]
要求: MedRecRcvd 下拉列表有 3 个可能的值。其中一项要求是当 MedRecRcvd 的选定值被选择为“是”时,然后将“dateReceived”设置为今天的日期。
这是我目前得到的: 对于 MedRecRcvd 下拉列表,我有一个编辑器功能,我试图在触发更改事件时分配今天的日期。如果 MedRecRcvd 的选定值为“Y”,我需要帮助将今天的日期分配给日期选择器。如您所见,我尝试了各种方法来获取 kendo 日期选择器的实例并设置一个值,但我现在几乎碰壁了。任何想法将不胜感激!
function medRecRcvdDropDownEditor(container, options) {
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
autoBind: true,
dataTextField: "MedRecRcvdName",
dataValueField: "MedRecRcvdId",
change: function (e) {
var value = this.value();
if (value != null && value == "Y") {
var grid = e.sender.element.closest(".k-grid").data("kendoGrid");
var row = e.sender.element.closest("tr");
var medRecdtPicker = e.sender.element.closest("[name='dateReceived']").data("kendoDatePicker");
medRecdtPicker.setDate(new Date());
}
},
dataSource: {
transport: {
read: function (e) {
e.success(datasource);
},
}
}
});
}
您可以直接给模型赋值。
例如
function medRecRcvdDropDownEditor(container, options) {
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
autoBind: true,
dataTextField: "MedRecRcvdName",
dataValueField: "MedRecRcvdId",
change: function (e) {
var value = this.value();
if (value != null && value == "Y") {
options.model.set('dateReceived', new Date())
}
},
dataSource: {
transport: {
read: function (e) {
e.success(datasource);
},
}
}
});
}