今天在项目中遇到需要弹框处理的问题,,当用户点击某个单选框时,需要进行确认操作,,常规的情况下,因为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表示此按钮不会选中 })