今天在項目中遇到需要彈框處理的問題,,當用戶點擊某個單選框時,需要進行確認操作,,常規的情況下,因為layer.open()和layer.confirm()都是異步執行的, 在點擊單選框之后單選框會立馬選中, 彈框的效果心痛虛設.
后來想到在用戶點擊之前可以先對當前點擊的按鈕進行記錄,,因為此時彈框是異步的,,直接返回false讓單選框不選中,然后在對彈框條件進行判斷,,滿足條件讓剛才記錄的單選選中就好.思路就是這樣,一實驗,果然好使.
代碼如下:..
$("input[name='SendDetailFormMap.SEND_TYPE']").click(function () {
debugger
var radio=$(this); //用來記錄被點擊的按鈕
if (addCardFlag) {
layer.open({
title: '注意',
content: '變更類型將會刪除所有生成的類型,確定嗎?'
, btn: ['確認', '取消']
, yes: function (index) {
radio.prop("checked",true); //點擊確認,讓按鈕被選中
//執行代碼
layer.close(index)
}
});
}
return false; //返回false表示此按鈕不會選中
})
