0

特定の選択が行われると、確認ダイアログ(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;}}
      ]
  });
4

1 に答える 1

0

完全な解決策ではなく、ちょっとしたハックですが、ドロップダウンの選択したインデックスを保存したり、ダイアログに渡したりしてから、ダイアログを閉じるときにドロップダウンを選択したインデックスに設定し、オプションでフォーカスをドロップダウン。

于 2012-11-29T15:47:17.610 に答える