2012-11-29 113 views
0

我有一個JQuery下拉菜單設置,以便當一個特定的選擇時,一個確認對話框(也JQuery)顯示與評論​​領域和是/否按鈕。我希望用戶能夠輸入文本,並在此確認窗口中單擊「是」或「否」,同時背景下拉菜單的狀態保持不變。JQuery確認對話框焦點導致主窗口下拉失去焦點

不幸的是,只要我點擊確認窗口中的任何地方,後臺下拉菜單的狀態就會丟失 - 它會回到默認狀態。有沒有處理這個簡單的選項?使其成爲模態沒有任何影響。

下面是我的確認窗口定義:

$(".change_status").Confirmation({ 
     header: "#{t.global.conf_header}", 
     onload: function(){ 
     $("#newSync > .date_chooser").each(function(index, element){ 
      var minDate = new Date().addDays("#{medsync_post_offset}"); 
      var maxDate = new Date().addDays(100); 
      calenderize(element, $(this).next(), null, minDate, maxDate); 
     }); 
     }, 
     message: function(){ 
     if ($(this).html()=="#{t.medsync.resume}"){ 
      $("#activate").show(); 
      return $("#activate").html(); 
     } 
     if ($(this).html()=="#{t.medsync.hold}"){ 
      $("#hold").show(); 
      return $("#hold").html(); 
     } 
     if ($(this).html()=="#{t.medsync.remove}"){ 
      $("#activate").show(); 
      return $("#remove").html(); 
     } 
     }, 

     buttons: 
     [ 
     {text:"#{t.global.button_yes}", label: "Yes_btn", action: function(e) 
      { 
      //if ($(this).html()=="#{t.medsync.hold}" && $.trim($("input:text.comment:visible").val()).length < 1) 
      if($("input.required:visible").size() > 0 && $.trim($("input.required:visible").val()) == "") 
      { 
       e.stopImmediatePropagation(); 
       $("input.required:visible").css("border","2px solid red").focus(); 
      } 
      else 
      { 
       if ($(".required input:text:visible").size()>0 && $.trim($(".required input:text:visible").val()) == "") 
       { 
       //e.stopImmediatePropagation(); 
       $(".required input:text:visible").css("border","2px solid red !important;").focus(); 
       } 
       else 
       { 
       $.post($(this).attr("href"), $("form#sync_form").serialize()+"&"+$("form.status:visible").serialize(), function(response) 
       { 
        if (response=="OK") { window.location.reload(true);} 
       }); 
       } 
      } 
      }}, 
     {text:"#{t.global.button_no}", label: 'No_btn', action: function(){return false;}} 
     ] 
    }); 

回答

0

雖然不是一個完美的解決方案和一個黑客位的,你可以存儲在下拉列表中選擇的指數和/或它傳遞給你的對話框,然後在關閉對話框時將下拉菜單設置爲選定的索引,並可選擇將焦點設置回下拉菜單。