jquery – 使用Twitter bootstrap模式而不是确认对话框

前端之家收集整理的这篇文章主要介绍了jquery – 使用Twitter bootstrap模式而不是确认对话框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用twitter bootstrap模式而不是自定义确认对话框.

我的功能

function getConfirm(confirmMessage){
    if ( confirmMessage == undefined){
        confirmMessage = '';
    }
    $('#confirmBox').modal({
    show:true,backdrop:false,keyboard: false,});

    $('#confirmMessage').html(confirmMessage);
    $('#confirmFalse').click(function(){
        $('#confirmBox').modal('hide');
        return false;
    });
    $('#confirmTrue').click(function(){
        $('#confirmBox').modal('hide');
        return true;
    });
}   
</script>
<div class="modal" id="confirmBox" style="display: none">
    <div class="modal-body">
        <p id="confirmMessage">Any confirmation message?</p>
    </div>
    <div class="modal-footer">
        <button class="btn" id="confirmFalse">Cancel</button>
        <button class="btn btn-primary" id="confirmTrue">OK</button>
    </div>
</div>

调用函数

var confimChange=getConfirm("Do You confirm?");
if(confimChange){
    alert('perfect you confirmed')
}else{
    alert('why didnt you confirmed??')
}

问题是getConfirm函数没有返回true或false.

工作代码

if(receiverListCount > 0){
    var confimChange=confirm("Message");
    if(confimChange){
        resetReceiverList();
    }else{
        return false;
    }
}

修改后的代码片段更改/不工作

if(activeDiv == '#upload'){
    if(listOfSelectedGroups.length> 0|| receiverListCount > 0){
        getConfirm("message",function(result){
            if(result){
                resetReceiverList();
            }else{
                return false;
            }
        });
    }
}

我决定使用bootBoxjs

解决方法

你的方法错误的,它会执行异步的方式,所以它不会等待模态对话框在返回之前被关闭.尝试这样的东西:
function getConfirm(confirmMessage,callback){
    confirmMessage = confirmMessage || '';

    $('#confirmBox').modal({show:true,});

    $('#confirmMessage').html(confirmMessage);
    $('#confirmFalse').click(function(){
        $('#confirmBox').modal('hide');
        if (callback) callback(false);

    });
    $('#confirmTrue').click(function(){
        $('#confirmBox').modal('hide');
        if (callback) callback(true);
    });
}  

getConfirm('Are you sure?',function(result) {
   // Do something with result...
});

注意,但是您只需要初始化一次模式并挂起事件一次.我会给出模态的身体和身份证,并在显示前简单地更改内容.

您还应该将背景设置为true,您需要确认以防止用户访问该页面,直到确认.

原文链接:https://www.f2er.com/jquery/175936.html

猜你在找的jQuery相关文章