我在单击按钮时创建了一个jQuery对话框,并且在从另一个DIV克隆的对话框中也创建了日期选择器文本框,但是当我单击文本框时,日期选择器不会按预期弹出。
<div id='searchdialog'>blank div</div>
<div id='search'>
<input type='text' id='arrivDate' />
<input type='text' id='deparDate' />
</div>
<button id="popup" onclick="setPopupForm()">Click</button>
function setPopupForm(){
$('#searchdialog').html($('#search').html());
$('#searchdialog').find('#arrivDate').attr('id','arrivDate2');
$('#searchdialog').find('#deparDate').attr('id','deparDate2');
$('#searchdialog').dialog({
height: 280,
width: 740,
resizable: false,
modal: true,
draggable: true
});
$('#arrivDate2').datepicker({
defaultDate: "+7",
changeMonth: true,
numberOfMonths: 1,
});
}
搜索 - 已存在的DIV
searchdialog - 将“搜索”的内容添加到此DIV,并将文本框ID更改为“arrivDate2”和“deparDate2”
单击按钮时,将触发“setPopupForm()”函数并弹出对话框。但是当我点击'arrivDate2'时,datepicker无法打开。我试图在对话框中初始化选择器,但仍然无效。
请帮我解决这个问题。
这里是我试过的上面的JSFIDDLE。 JSFIDDLE
这是我正在研究的真实例子。我试图将Find Hotel中的内容克隆到一个对话框中,并通过随时更改新的内容ID来创建另外两个日期选择器。 EXAMPLE
答案 0 :(得分:0)
var content = "<div><input type='text' id='arrivDate' /></div>";
$('#searchdialog').html(content);
$('#arrivDate').datepicker({
defaultDate: "+7",
changeMonth: true,
numberOfMonths: 1,
});
$('#searchdialog').dialog({height: 280, width: 740, resizable: false, modal: true, draggable: true});
首先为arrivDate调用datepicker,然后调用searchdialog进行对话..
答案 1 :(得分:0)
您可以尝试将blur
简单地应用于输入
var content = "<span id='lala'></span><div><input type='text' id='arrivDate' /></div>";
$('#searchdialog').html(content).blur();
$('#searchdialog').dialog({
height: 280,
width: 740,
resizable: false,
modal: true,
draggable: true
});
/* Here it is */
/****/
$('#arrivDate').blur().datepicker({
defaultDate: "+7",
changeMonth: true,
numberOfMonths: 1,
});
<强> UPDATED FIDDLE HERE 强>