我设置了一个 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;}}
]
});