我想将 Datepicker 附加到我在开关/案例中使用.after所包含的“date”fieldType选项
case "date":
$this.after('<input type="text" class="value cat_textbox datepicker" />')
break;
目前,我正在获取<input>
容器,但我没有看到日历按钮。另外,当我点击容器时,它不会对Datepicker进行操作。
注意:
当我将<input type="text" class="value cat_textbox datepicker" />
直接添加到<body>
时, Datepicker 工作正常。
所有其他开关/外壳选项都运行正常。 (参见下面的功能片段。)
/*
** This changes the fieldType options when
** a different Field (age, gender, etc) is selected
*/
function onOperatorSelectChange(e) {
var $this = $(this);
var option = $this.find("> :selected");
var container = $this.parents(".rule");
var fieldSelect = container.find(".field");
var currentValue = container.find(".value");
var val = currentValue.val();
switch(option.data("fieldType")) {
case "none":
$this.after($("<input>", {"type": "hidden", "class": "value"}));
break;
case "text":
$this.after($("<input>", {"type": "text", "class": "value"}));
break;
case "date":
$this.after('<input type="text" class="value cat_textbox datepicker" />')
break;
case "textarea":
$this.after($("<textarea>", {"class": "value"}));
break;
case "select":
var select = $("<select>", {"class": "value"});
var options = fieldSelect.find("> :selected").data("options");
for(var i=0; i < options.length; i++) {
var opt = options[i];
select.append($("<option>", {"text": opt.label || opt.name, "value": opt.name}));
}
$this.after(select);
break;
}
currentValue.remove();
}
答案 0 :(得分:0)
在创建datepicker文本框
后调用datepicker方法更改案例“日期”中的代码:
尝试以下代码
case "date":
$this.after('<input type="text" class="value cat_textbox datepicker" />');
$(".datepicker").datepicker({dateFormat: 'dd-mm-yy',
changeMonth: true,
changeYear: true,
yearRange:'-50:+20'
});
break;