gpt4 book ai didi

javascript - Jquery 代码每次单击时都会运行一种附加类型

转载 作者:行者123 更新时间:2023-12-02 22:47:53 29 4
gpt4 key购买 nike

我正在尝试将新列表项添加到我的 TreeView 中。

基本上应该按如下方式工作:单击带有 add-rule-btn 类的图标,会显示模式(.add-new-rule)。它有输入字段(#call-rule-name)和一个按钮(#create-rule-btn)。您输入文本并单击按钮,您的文本将作为另一个项目添加到 TreeView 的底部。

现在,当我第一次这样做时,效果很好。但是,如果我想添加另一个,我单击图标,输入文本,然后单击按钮。该代码运行两次并添加两个项目。当我尝试再次执行此操作时,代码会运行树时间,依此类推。

有人知道为什么会发生这种情况吗?提前致谢!

    $('.add-rule-btn').click(function(){
var list;
list = $(this).parent().next();
$('#create-rule-btn').click(function(){
var rule_name = $('#call-rule-name').val();
list.append('<li class="treeview-animated-element"><span class="call-rule">' + rule_name + '</span></li>');
$('.treeview-animated').mdbTreeview();
$(".add-new-rule").modal("hide");
$('#call-rule-name').val('');
});
});

最佳答案

您可以尝试在外部声明 var 列表。因为它是在外部声明的,所以您可以在内部访问和修改它。

.add-rule-btn 

#create-rule-btn

示例代码:

var list;

$('.add-rule-btn').click(function(){

list = $(this).parent().next();

});

$('#create-rule-btn').click(function(){
var rule_name = $('#call-rule-name').val();
list.append('<li class="treeview-animated-element"><span class="call-rule">' + rule_name + '</span></li>');
$('.treeview-animated').mdbTreeview();
$(".add-new-rule").modal("hide");
$('#call-rule-name').val('');
});

关于javascript - Jquery 代码每次单击时都会运行一种附加类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58314324/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com