循环遍历jquery对话框

时间:2013-08-06 11:19:54

标签: jquery

我要求用户在“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;

2 个答案:

答案 0 :(得分:0)

使用hvappend是错误的。你永远不会追加任何东西。你应该做这样的事情:

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

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

答案 1 :(得分:0)

您是否在打开更多对话框时遇到问题?因为你可以递归调用函数。将这些代码放在一起,向您展示如何一遍又一遍地显示对话框,它会附加商品文本字段中的内容。如果在是/否之间需要单独的对话框来输入日期,那么他们可以互相调用。

JsFiddle

$(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);           


     }
    }
    });

}