Jquery UI对话框在关闭时不会删除内容

时间:2013-05-01 20:46:17

标签: jquery datatables

我正在进行ajax调用--->在从服务器响应后创建数据--->创建数据表 - > apply datatable --->将它追加到div - >在该div上使用JQuery Dialog

$.ajax({  
                type: "POST",  
                url: "./poclosed.htm",  
                data: datastring,  
                success: function(data){  
                    //alert("Ajax1");
                    if(data.status == "SUCCESS")
                        {
                        $('.potable').html("");$('.poorders').html("");
                        //alert("open ");
                        var po = data.result;
                        //alert(po.length);
                        var podata = '';
                        var i;
                        podata += '<table id = "potable">'+
                         '<thead><tr>'+
                            '<th>col1/th>'+
                            '<th>col2</th>'+
                            '<th>col3</th>'+
                            '<th>col4</th>'+
                            '<th>col5</th>'+
                            '<th>col6</th>'+
                            '<th>col7</th>'+
                            '<th>col8</th>'+
                            '<th>col9</th>'+
                            '<th>col10</th>'+
                            '<th>col11</th>'+
                            '<th>col12</th>'+
                            '<th>col13</th>'+
                             '<th>col14</th>'+
                            '<th>col15</th>'+
                            '<th>col16</th>'+
                            '<th>col17</th>'+
                            '<th>col18</th>'+
                            '<th>col19</th>'+
                            '<th>col20</th>'+
                            '<th>Oracle PO. Num</th></tr></thead>'+
                        '<tbody>';

                         for(  i = 0 ;i < po.length; i++)
                            {
                             podata += '<tr>'+
                                '<td>'+po[i].col1+'</td>'+
                                '<td>'+po[i].col2+'</td>'+
                                '<td>'+po[i].col3+'</td>'+
                                '<td>'+po[i].col4+'</td>'+
                                '<td>'+po[i].col5+'</td>'+
                                '<td>'+po[i].col6+'</td>'+
                                '<td>'+po[i].col7+'</td>'+
                                '<td>'+po[i].col8+'</td>'+
                                '<td>'+po[i].col9+'</td>'+
                                '<td>'+po[i].col10+'</td>'+
                                '<td>'+po[i].col11+'</td>'+
                                '<td>'+po[i].col12+'</td>'+
                                '<td>'+po[i].col13+'</td>'+
                                '<td>'+po[i].col14+'</td>'+
                                '<td></td>'+
                                '<td>'+po[i].col15+'</td>'+
                                '<td>'+po[i].col16+'</td>'+
                                '<td>'+po[i].col17+'</td>'+
                                '<td>'+po[i].col18+'</td>'+
                                '<td>'+po[i].col19+'</td>'+                                                     
                                '<td>'+po[i].col20+'</td>'+
                            //'<td>'+po[i].imageNumber+'</td>'+
                                '</tr>';
                            }
                         podata +=  '</tbody></table>';
                        }

                    //alert(order);

                    $(podata).appendTo('#poorders');
                //  $('#potable').dataTable();
                    formatPoSubWindowTable();
                      $( "#poorders" ).dialog({

                          width: 1300,
                          left: 25,
                          height: 500,

                      });

                },
                error: function(e){  
                      alert('Error: ' + e);  
                    }
            });

$(this).dialog('destroy')。remove()没有工作导致数据表重新初始化问题 因此,当我进行ajax调用时,我会获得带有新表(应用数据表)的对话框以及旧表 如果有人能给出指示,我真的很感激。

1 个答案:

答案 0 :(得分:0)

尝试$('#poorders')。dialog('destroy')。remove()如果你想要转储对话框和html。否则使用wirey的解决方案来替换内容并避免重新创建对话框。

Jquery.dialog通过检查单个元素是否已存在来保护单个元素的重复对话框构造。