У меня есть флажок, который должен отображать лайтбокс при значении true. Если я снова установлю флажок, когда значение будет установлено в true, оно должно изменить значение на false и отобразить окно предупреждения. Это отлично работает в Firefox.
Но в IE7, когда я устанавливаю флажок, когда его значение установлено в true, значение не меняется на false. Таким образом, лайтбокс отображается снова. Только когда я снова установлю флажок, значение изменится на false и отобразится окно с предупреждением.
<input class="checkbox" type="checkbox" id="chkbox"/>
<a href="lightbox.html?KeepThis=true&TB_iframe=true&modal=true" class="thickbox" id="lightbox_link"></a>
Я использовал функцию изменения для изменения значения флажка и отображения соответственно.
$("#chkbox").change(function(){
alert(this.checked); //returns true in IE when clicked for the second time
if(this.checked)
{
$("a#lightbox_link").trigger("click"); //displays the lightbox
}
else
{
$( "#dialog-confirm" ).dialog({
resizable: false,
modal: true,
buttons: {
"OK": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
$("#chkbox").attr("checked", true);
}
}
})
}
});