循环jquery对话框

循环jquery对话框,jquery,Jquery,我有一个要求,如果用户在“EarliessreasonableOfferDate”中输入日期,它应该提示一个对话框yes/no。如果选择yes,它将继续,如果no,用户应该选择值并存储在隐藏字段“OfferDate”中,并清除日期选择器。然后,用户需要输入第二个报价日期,然后当用户接受第二个报价日期时,会出现一个对话框,如果是,则继续,如果否,则应清除日期选择器值,并且输入的值应以逗号分隔的字符串存储在报价日期字段中。第三和第四。这是我的密码。我正在努力循环对话 <%: Html.Hidd

我有一个要求,如果用户在“EarliessreasonableOfferDate”中输入日期,它应该提示一个对话框yes/no。如果选择yes,它将继续,如果no,用户应该选择值并存储在隐藏字段“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");            


     }
    }
    });
    }  
m.OfferedDate)%%>
M.EarliesstreasonableOfferDate,“日期时间”)%%>
$(“#EarliessreasonableOfferDate”).bind('change',function(){
AcceptDialog();
});
函数AcceptDialog(){
var div=document.createElement(“div”);
$(分区)
.html('患者是否接受提供的第一个日期?是/否')
.对话({
莫代尔:是的,
标题:“接受屏幕”,
按钮:{
“是”:函数(){
$(this.dialog('close');
},
“否”:函数(){
var hv=$(“#早期交易报价”).val();
var hv1=$('#OfferedDate').val(hv);
$(“#早期叛国要约”).val(“”);
var hvappend=hv1.val()+',';
警报(hvappend);
$(this.dialog('close');
警报(“输入下一个提供的日期”);
}
}
});
}  
例如,上述结果将于2013年6月6日提供
但是我需要loop offerdate的结果='06/06/2013,07/07/2013,07/08/2013'

使用
hvapped
是错误的。你从不在上面加任何东西。你应该这样做:

function AcceptDialog() {
    var hvappend = "";
    ... 
    .dialog({
       ...
         "No": function () {
            ...
            hvappend += hv1.val() + ',';
            ...
        })
        ...
    }
    ...
}

按照您实现函数的方式,
hvappend
在函数的每次迭代中都会被覆盖。

打开更多对话框是否有问题?因为你可以递归地调用函数。将这些代码放在一起,向您展示如何反复显示对话框,并将其附加到offer文本字段中。如果您需要在Yes/No(是/否)之间单独设置一个对话框来输入日期,那么他们可以互相呼叫


您能否通过示例简单地解释一下您的需求,但您是否创建了具有相同ID的多个字段?您的$(“#EarliesstreasonableOfferDate”)选择器似乎表明了这一点。jQuery不喜欢这种情况。@vinothini check:jsfiddle.net/w8sPN/15用户输入dailog“是否接受报价1?”的第一个日期,并给出是/否提示。如果否,则提示“输入下一个日期”,并确认保存第一个日期。用户输入第二个日期dailog,并显示“是否接受报价2?”以及是/否提示。当否时,“输入下一个日期”并确定,第二个日期保存在逗号之后,依此类推,直到用户接受“是”。谢谢您的回答,这真的很有帮助。是的,我需要在“是/否”之间设置一个单独的对话框来输入日期。还请帮助彼此呼叫。在您的示例中,是否可以使用日期选择器来代替“开始”按钮?如果用户接受第一次、第二次、第三次等之间的任何输入,则弹出窗口应仅为yes/no dailogs和ok popup检查:用户输入第一次日期dailog“Dod offer 1 accepted”(是否提供1已接受),并给出yes/no提示。如果否,则提示“输入下一个日期”,并确认保存第一个日期。用户输入第二个日期dailog,并显示“是否接受报价2?”以及是/否提示。如果否,“输入下一个日期”并确定,则第二个日期将保存在逗号之后,依此类推,直到用户接受“是”。
$(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);           


     }
    }
    });

}