如何更改$ .data()发送的jQuery对话框的标题和正文?

时间:2015-05-19 17:51:16

标签: javascript jquery dialog

我正在尝试使用jQuery对话框来处理来自电话系统的入站电话。

要向用户提供有关调用者的有意义信息,我需要使用类似的内容更新对话框的主体

clear('f')

也想用这样的东西更新对话的时间。 Incomming来自:5421112222

另外,如果我想完全隐藏标题,我该怎么做?

这是我的代码,我试图将标题值设置为标题I Incomming Call From: 5421112222 Merchant ID: 123456 Account ID: 2222222 中使用.data()传递的数据,并且对话框的主体不会更改。

Incoming Call From: Undefined

这是我在有来电时打开对话框的方式

    $( "#inboundDialog" ).dialog({
        resizable: true,
        width: 400,
        modal: false,
        autoOpen: false,
        title: 'Incoming Call From: ' + $(this).data('phone'),
        html: 'Incoming Call From: ' + $(this).data('phone') + '<br>Merchant ID: ' + $(this).data('mid') + '<br>Account ID: ' + $(this).data('account_id'),
        stack: false,
        buttons: {
            "Answer": function(e) {
                $.ajax({    
                    type: 'GET',
                    url: 'inderations.php',     
                    data: {'method': 'answer', 'interactionId': $(this).data('interactionId')},
                    dataType: 'json',
                    cache: false,
                    timeout: 5000,
                    success: function(data) {           
                        console.log('answered!!!');
                        $( "#inboundDialog" ).dialog('close');
                    }
                }); 

            },
            "Send to Voice Mail": function(e) {
                $.ajax({    
                    type: 'GET',
                    url: 'inderations.php',     
                    data: {method: 'sendToVoiceMail', interactionId: $(this).data('interactionId') },
                    dataType: 'json',
                    cache: false,
                    timeout: 5000,
                    success: function(data) {           
                        console.log('Voice mail sent!!!');
                        $( "#inboundDialog" ).dialog('close');
                    }
                }); 
            },
            "Hold": function(e) {
                $.ajax({    
                    type: 'GET',
                    url: 'inderations.php',     
                    data: {method: 'holdInbound', interactionId: $(this).data('interactionId')},
                    dataType: 'json',
                    cache: false,
                    timeout: 5000,
                    success: function(data) {           
                        console.log('Place on hold!!!');
                        $( "#inboundDialog" ).dialog('close');

                    }
                }); 

            }
        }
    });

1 个答案:

答案 0 :(得分:0)

我终于开始工作了。

我决定删除对话标题,因为在这种情况下它是多余的。

在打开之前更改对话框的主体我设置了.html()这样的值

$( "#inboundDialog" ).html('Incoming Call From ' + Eic_RemoteAddress + '<br>' + msg)

然后删除我使用.siblings('.ui-dialog-titlebar').remove()

的标题

这是我的代码放在一起

                        //display a dialog message
                        if( $("#inboundDialog").dialog( "isOpen" ) !== true){

                            $( "#inboundDialog" ).html('Incoming Call From ' + Eic_RemoteAddress + '<br>' + msg);
                            $( "#inboundDialog" ).data({'id': interactionId}).dialog('open').siblings('.ui-dialog-titlebar').remove();
                        }