我正在使用以下链接中的jquery-confirm脚本。它能够在对话框中包含表单域。您可以点击下面链接中的“Act Like a Prompt”蓝色按钮来查看。
我已经设置了表单(单个字段),但我希望这个输入是一个日期选择器,我不知道我应该把javascript放到哪里,因为这个表单不存在直到生成对话框。
https://craftpip.github.io/jquery-confirm/
我的对话框javascript:
$('.deal_edit').on('click', function () {
var id = $(this).attr('data-id');
$.confirm({
title: 'Change end Date',
content: 'url:form.txt',
confirm: function () {
var input = this.$b.find('input#new_end_date').val();
var errorText = this.$b.find('.text-danger');
if (input.val() == '') {
errorText.show();
return false;
} else {
var data = {action: 'edit_deal', id: id, new_date: new_date};
$.post('ajax.php', data, function(response) {
$.alert({
title: "Updated",
content: "Ok, record has been updated - this page will reload.",
confirm: function() {
location.reload();
}
});
});
}
}
});
return false;
});
form.txt的内容:
<p>The only editable field currently is 'deal end date'. (This may change soon)</p>
<div class="form-group">
<label>New End Date</label>
<input autofocus type="text" id="new_end_date" name="new_end_date" class="form-control">
</div>
<p class="text-danger" style="display:none">Please enter an end date, or click 'close'.</p>
谢谢!!!
答案 0 :(得分:1)
我有同样的问题,这就是我解决它的方法。
您需要将onOpen和onClose上的事件添加到确认对话框中以添加
$.confirm({
onOpen: function(){
$( ".datepicker" ).datepicker();
},
onClose: function(){
$(".datepicker").datepicker("destroy");
},
title: 'Change end Date',
content: 'url:form.txt',
confirm: function () {
var input = this.$b.find('input#new_end_date').val();
var errorText = this.$b.find('.text-danger');
if (input.val() == '') {
errorText.show();
return false;
} else {
var data = {action: 'edit_deal', id: id, new_date: new_date};
$.post('ajax.php', data, function(response) {
$.alert({
title: "Updated",
content: "Ok, record has been updated - this page will reload.",
confirm: function() {
location.reload();
}
});
});
}
}
});
答案 1 :(得分:0)
您可以在onContentReady
事件中添加代码,就像在插件创建对话框窗口后调用的函数一样。您可以将此代码添加到您的示例中
onContentReady: function () {
$("#new_end_date").datetimepicker();
}