如何在关闭弹出窗口后仅刷新父页面中的特定下拉列表

时间:2018-10-15 18:00:41

标签: javascript php html

我在父页面上有一个下拉菜单,用于选择代理商,旁边有一个添加按钮以添加新代理商。此按钮将打开弹出窗口。当我添加新代理商时,父页面中的下拉列表应该只刷新。但是所有解决方案都为我提供了刷新不需要的整个父页面的方法。 如何刷新仅在父页面中下拉菜单。

2 个答案:

答案 0 :(得分:0)

您可以考虑使用Angular,Vue.js或React来获得这样的响应式前端。 另一种方法是使用JS刷新随时间推移下拉列表的DOM(比第一种方法更糟)

答案 1 :(得分:0)

最终找到了非常有效地解决此问题的方法。这是我的代码

此代码用于添加新版本类型的弹出窗口。在此弹出窗口中,我要调用特定下拉列表的重新加载,添加新的版本类型后,该刷新将刷新。

弹出脚本:

window.onunload = refreshParent;
function refreshParent() {
   // window.opener.location.reload();
    window.top.close();
}

window.onbeforeunload = function(e) {
window.opener.trial1();
window.top.close();

};

现在这是父窗口中的代码。 父页面中的脚本:

                        function trial1(){

                        $( "#abc" ).load( "billGeneration.php #abc select" );

                        }
                        /*script ends here*/


                         <input type="button"  name="trial3" id="trial3" value="btn" onClick="trial1()">

                        <div class="row">
                        <div class="col col-md-3">
                         <span style="color:#000066;">Select Edition :</span>
                        </div>

                        <div id="abc" class="col-12 col-md-7" style="text-align:left;">
                        <select name="edition" id="edition" class="form-control"   onchange="editiondata(this)">
                                                     <option value="0" >Please select</option>
                                                     <!--code for fetching customer names in dropdown-->
                                                     <?php

                                                        $query1 = "SELECT edition_name FROM tb_edition";
                                                                             $result1 = mysql_query($query1, $con) or die(mysql_error($con));
                                                        while($row = mysql_fetch_array($result1)){
                                                            //$edition = $row["edition_name"];
                                                        ?>
                                                     <option id="opt" data-edition_value="<?php if(isset($row["edition_name"])) echo $row["edition_name"];?>" value="<?php if(isset($row["edition_name"])) echo $row["edition_name"];?>"><?php if(isset($row["edition_name"])) echo $row["edition_name"];?></option>
                                                     <?php
                                                    }
                                                        ?>
                                                     <!--****************************************************-->
                                                  </select>
                        </div>

这只会刷新下拉列表,而不会刷新整个父页面。