为了显示dropdown2(可以是其他任何内容),我使用dropdown1 onchange="getFilterOption()"
。
HTML(调用函数 getFilterOption)
<select name="filter" data-userid="3" onchange="getFilterOption()">
<option value="one">One</option>
<option value="two">Two</option>
</select>";
jQuery(函数 getFilterOption)
function getFilterOption() {
$("#TargetFilterOption").append('<select id="filter_class1" name="filter1" data-privelesid1="".$priveles_id."" onchange="getFilter1(this.value)"><option value="">Filter</option><option value="All">All</option><option value="Yes">Yes</option><option value="No">No</option></select>');
};
问题
当我第一次使用下拉菜单时(例如,我选择“One”),程序会返回一些信息以及dropdown2(这就是我想要的)。但是,当我再次选择另一个选项(例如“两个”或其他选项)时,程序会再次返回 dropdown2。所以我得到两个 dropdown2。
我需要做什么才能只显示一次dropdown2。例如:如果 dropdown2 已添加到页面,则不要调用函数 getFilterOption。
最佳答案
使用html()
函数而不是append()
。 html()
替换之前的 html,而 append()
在现有的 html 之后追加新的 html。
$("#TargetFilterOption").html('<select id="filter_class1" name="filter1" data-privelesid1="".$priveles_id."" onchange="getFilter1(this.value)"><option value="">Filter</option><option value="All">All</option><option value="Yes">Yes</option><option value="No">No</option></select>')
关于javascript - jQuery 不断地一次又一次地调用该函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835984/