javascript - jQuery 不断地一次又一次地调用该函数

标签 javascript jquery ajax dropdown

为了显示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/

相关文章:

javascript - MS Edge : IntersectionObserver. 它对你有用吗?

javascript - 使用javascript登录Twitter?

javascript - 如何使用 jQuery 将多个变量传递给 PHP

php - jQuery AJAX 在我的 PHP MVC 上运行不佳

c# - 将 jQuery 更新到 1.10.2 后,Ajax 调用后 jQuery 范围 slider 无法工作

javascript - 当我有 2 个 jquery 库时,文档就绪无法工作

javascript - 带有要传递的 header 参数的 Img src 路径

jquery - AJAX异步调用——回调无法返回数据?

javascript - Bootstrap 3.0 : added 2 sliders to home page both conflicting

javascript - 在选择类上使用 jQuery 不是所有具有相同类的 div