javascript - 刷新面板 javascript 刷新

标签 javascript jquery html twitter-bootstrap-3 panel

我需要通过 JavaScript 重新加载我的面板内容。 我的网页中有两个部分:a) 产品列表和 b) 包含产品描述的面板。 当用户单击产品时,我会显示一个面板,该面板使用通过产品单击传递的变量使用 php 代码读取数据库信息。 (面板 ID)。我将 panelId 传递给 JavaScript,该 JavaScript 显示一个模式,通知用户正在读取数据库,之后需要使用新信息重新加载面板内容。我需要使用什么方法来刷新此面板,以便强制读取 php 变量的新值?显示/隐藏似乎不起作用。

Javascript:

$('#getInfoModal').on('show.bs.modal', function(e) {

    var panelId = $(e.relatedTarget).data('panel-id');

    //console.log('Progress bar modal calling: ' + panelId);
    // Hide previous modal if any
    $('#main_panel').parent().hide();
    $('#modalProgressBar').progressbar('reset');

    // Emulate delay and close after progress bar finish
    setTimeout(func, 4000);
        function func() {

            $('#getInfoModal').modal('hide');
            $('#main_panel').parent().show(); // Method to force panel reload?
            $('.modal-backdrop').remove();              
    }

    setTimeout(function(){
       $('#modalProgressBar').progressbar(100);
    }, 1000);

});

HTML 代码:

   <div class="col-lg-14">                  
                  <!-- START panel-->
                  <div id="main_panel" class="panel panel-default panel-demo">
                  <div class="panel-footer">
                  <div class="media">                                                       
                     <em class="fa fa-tasks fa-1x text-success"></em>
                     <strong>Device status</strong>
                     <a href="#" data-perform="panel-collapse" data-toggle="tooltip" title="Collapse Panel" class="pull-right">
                     <em class="fa fa-minus"></em>
                     </a>
                     <a href="#" data-perform="panel-refresh" data-spinner="traditional" data-toggle="tooltip" title="Refresh Inventory" class="pull-right">
                        <em class="fa fa-refresh"></em>
                     </a>
                  </div>                  
                  </div>
                  <div class="panel-body">                                       
                  <div class="panel-group">

                  <!-- START row--> 
                  <div class="row" >
                     <div class="col-lg-6" >                                                                   
                           <!-- START panel-->
                           <div class="panel panel-info">
                              <div class="panel-heading"><em class="fa fa-barcode"></em> Serial number: <strong><?php echo $panel_id?></strong>                                 
                              </div>
                                 <div class="panel-body">
                                 <div class="media">
                                 <div class="pull-left">   
                                 <img src="app/img/switch4ports.png" alt="Image" width="150" height="100" data-toggle="tooltip" data-placement="left" title="2 ports connected" class="media-object">                                                            
                                 </div>                                 
                                 </div>
                                  <table id="table-ext-1" class="table">
                                    <thead>
                                    </thead>
                                    <tbody>
                                       <class="text-left">
                                       <tr>
                                        <!-- Yes, SQL injection is possible. Need refactoring--> 
                                       <td><small><em class="fa fa-check-circle-o text-success"></em><strong> WAN IP Address/Mask:<class="text-muted"></strong> <?php echo data_instance_model($dbc,'wanipaddr',$panel_id)?>/<?php echo data_instance_model($dbc,'wanmask',$panel_id)?></small></td>
                                       <td><small><em class="fa fa-check-circle-o text-success"></em><strong> WAN Default Gateway:<class="text-muted"></strong> <?php echo data_instance_model($dbc,'wangateway',$panel_id)?></small></td>
                                       </tr>
                                       <tr>
                                       <td><small><em class="fa fa-check-circle-o text-success"></em><strong> LAN IP Address/Mask:<class="text-muted"></strong> <?php echo data_instance_model($dbc,'lanipaddr',$panel_id)?></small></td>
                                       </tr>                          
                                    </tbody>
                                  </table>
                                 </div>                          
                           </div>
                        </div><!-- END panel-->                                 
                     </div> 
                  </div>

最佳答案

刷新你的模态下面的命令就足够了

$('#getInfoModal').modal("show");

但据我了解,您想要更新面板主体。所以您要做的就是在面板主体中放置一个 div 并使用从 ajax 获取的内容更新它。

例如

 <!-- START panel-->
<div class="panel panel-info">
    <div class="panel-heading"><em class="fa fa-barcode"></em> Serial number: <strong><?php echo $panel_id?></strong> 
    </div>
    <div class="panel-body">
        <div class="media">
            <div class="pull-left">
                <img src="app/img/switch4ports.png" alt="Image" width="150" height="100" data-toggle="tooltip" data-placement="left" title="2 ports connected" class="media-object">
            </div>
        </div>
        <div id="tablecontents"></div>
    </div>
</div>
</div>
<!-- END panel-->

因此,假设您从服务器获取 cotents 作为 json ,循环 json 并更新 tablecontents

关于javascript - 刷新面板 javascript 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810790/

相关文章:

javascript - 最小化到一定宽度后显示: inline-block,,停止inline-block,保持结构不变

javascript - 有人可以帮我理解这段代码中发生了什么吗?

javascript - 计时器在 php 文件上使用 js 使输入和文本区域样式返回为默认值

jquery - 我的输入类型 ="submit"没有显示?

javascript - 需要使用 javascript 检查多个 div 中是否存在类

html - 不同的CSS属性值取决于@page选择器

javascript - 将自定义 ajax 按钮添加到 WooCommerce 管理订单列表

javascript - 在国家边界多边形内随机生成一个点

javascript - 你能为 AJAX 调用添加优先级吗

jquery - 如何在 Vue.JS 中的 v-if 之后运行一个方法?