我要求用户在“EarliestReasonableOfferDate”中输入日期'它应该提示对话框是/否。如果是,则选择是,如果没有用户应该选择该值并存储在隐藏字段中,则会继续#Ott; OfferedDate'并清除日期选择器。然后用户需要输入第二个提供日期,然后在用户接受第二个提议日期时出现对话框,如果是,则继续,如果没有清除datepicker值,则输入的值应作为逗号分隔字符串存储在offerdate字段中。第三和第四。这是我的代码。我正在努力循环对话框。
<%: Html.HiddenFor(m=>m.OfferedDate) %>
<td>
<%: Html.EditorFor(M => M.EarliestReasonableOfferDate,"DateTime")%>
</td>
$("#EarliestReasonableOfferDate").bind('change', function () {
AcceptDialog();
});
function AcceptDialog() {
var div = document.createElement("div");
$(div)
.html('Did Patient Accept First date Offered? Yes/No')
.dialog({
modal: true,
title: 'Acceptence Screen',
buttons: {
"Yes": function () {
$(this).dialog('close');
},
"No": function () {
var hv = $('#EarliestReasonableOfferDate').val();
var hv1 = $('#OfferedDate').val(hv);
$('#EarliestReasonableOfferDate').val('');
var hvappend = hv1.val() + ',';
alert(hvappend);
$(this).dialog('close');
alert("Enter Next date Offered");
}
}
});
}
例如,上面的结果是Offerdate =&#39; 06/06/2013,&#39; 但我需要循环offerdate =&#39; 06/06 / 2013,07 / 07 / 2013,07 / 08/2013&#39;
答案 0 :(得分:0)
使用hvappend
是错误的。你永远不会追加任何东西。你应该做这样的事情:
function AcceptDialog() {
var hvappend = "";
...
.dialog({
...
"No": function () {
...
hvappend += hv1.val() + ',';
...
})
...
}
...
}
实现函数的方式,hvappend
在函数的每次迭代时都会被覆盖。
答案 1 :(得分:0)
您是否在打开更多对话框时遇到问题?因为你可以递归调用函数。将这些代码放在一起,向您展示如何一遍又一遍地显示对话框,它会附加商品文本字段中的内容。如果在是/否之间需要单独的对话框来输入日期,那么他们可以互相调用。
$(function () {
$("#btn").click(function(){offer_popup(1);});
});
function offer_popup(level){
$("#dialogb")
.dialog({
modal: true,
title: 'Acceptence Screen',
open: function(){
$("#offertext").text("Did user accept offer " + level + "? Yes/No");
},
buttons: {
"Yes": function () {
$(this).dialog('close');
},
"No": function () {
$("#oldoffers").text( $("#oldoffers").text()+ ", " + $("#offer").val());
$("#offer").val('');
$(this).dialog('close');
offer_popup(level+1);
}
}
});
}