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