.html工作,但文字没有出现在ajax请求之后

Dmi*_*kin 5 html javascript ajax jquery

在ajax调用之后,我将div添加buf到某个消息框,但在重新打开对话框后会出现文本.在Chrome,Firefox,IE 8,这工作正常,但不是在ie 7.


编辑:我点击链接时打开了对话窗口.然后我做ajax请求并收到消息.单击对话框中的按钮后,此消息应出现在对话框窗口(在某些div中)中.但是在重新打开对话框窗口后出现IE7消息.

$("#promised_pay_dialog").dialog({
        buttons: {
            "some button": function(){
                if ($('#confirm').is(':checked')) {
                    $.ajax({
                        url: 'ajax/promisedPayment',
                        type: "POST",
                        data: {
                            subsId:$("#sid").val()
                        },
                        success: function(buf){
                            $('#message_box').html(buf);
                            return false;
                        }
                    });
                }
                else {
                    alert("some message");
                }
            },
            "some button": function() {
                $(this).dialog("close");
            }
        },
        show: {
            effect: "blind",
            duration: 1000
        },
        hide: {
            effect: "explode",
            duration: 1000
        },
        modal: true,
        resizable: false,
        width: 550,
        height: 250
    });
Run Code Online (Sandbox Code Playgroud)

解决了这个问题,但并不令人满意:

单击链接时,调用createDialog("")无参数的函数.在ajax请求之后,接收消息并致电createDialog(buf).但我认为这不是一个好的解决方案.有任何想法吗?

function createDialog(mess){
    $('#message_box').html(mess);
    $("#promised_pay_dialog").dialog({
        buttons: {
            "some button": function(){
                if ($('#confirm').is(':checked')) {
                    $.ajax({
                        url: 'ajax/promisedPayment',
                        type: "POST",
                        data: {
                            subsId:$("#sid").val()
                        },
                        cache:false,
                        success: function(buf){
                            createDialog(buf);
                        }
                    });
                }
                else {
                    alert("some message");
                }
            },
            "some button": function() {
                $(this).dialog("close");
            }
        },
        show: {
            effect: "blind",
            duration: 1000
        },
        hide: {
            effect: "blind",
            duration: 1000
        },
        modal: true,
        resizable: false,
        width: 550,
        height: 250
    });
}
Run Code Online (Sandbox Code Playgroud)

U.P*_*U.P 0

.html()已知 IE6-8 存在问题

尝试替换以下内容

$('#message_box').html(buf);
Run Code Online (Sandbox Code Playgroud)

$('#message_box').empty().html(buf);
Run Code Online (Sandbox Code Playgroud)