Javascript 在jQuery中使用select输入追加和删除div
我试图根据选择菜单的值添加和删除一个div。这段代码第一次运行良好:select的值为2div时出现。当我返回到第一个值1时,div消失。但是,如果我再次选择值2,则div不会再次添加。有什么想法吗 倒墨 倾泻 $interv\u base\u youorthird.changefunction{ 如果$this.val==2{ 常量索引=+$“额外计数器”.val; const tmpl='hello world'; //添加子表单 $'interv_base_intervExtras'。附录TMPL; $“额外计数器”。valindex+1; } 否则{ $'interv_base_intervExtras'。删除; } };Javascript 在jQuery中使用select输入追加和删除div,javascript,jquery,Javascript,Jquery,我试图根据选择菜单的值添加和删除一个div。这段代码第一次运行良好:select的值为2div时出现。当我返回到第一个值1时,div消失。但是,如果我再次选择值2,则div不会再次添加。有什么想法吗 倒墨 倾泻 $interv\u base\u youorthird.changefunction{ 如果$this.val==2{ 常量索引=+$“额外计数器”.val; const tmpl='hello world'; //添加子表单 $'interv_base_intervExtras'。附录
问题是,当再次选择第一个选项时,删除了interv_base_intervExtras元素。当您移回第二个选项interv_base_intervExtras不再存在,以便从中读取数据原型属性 要修复此问题,请使用empty而不是remove;要清除元素的内容而不是删除整个元素,请执行以下操作:
请注意,我在上面的示例中稍微修改了逻辑,以缓存interv_base_intervExtras元素,并显式使用parseInt,而不是使用+运算符将字符串强制为int。问题在于,当再次选择第一个选项时,您删除了interv_base_intervExtras元素。当您移回第二个选项interv_base_intervExtras不再存在,以便从中读取数据原型属性 要修复此问题,请使用empty而不是remove;要清除元素的内容而不是删除整个元素,请执行以下操作:
请注意,我在上面的示例中稍微修改了逻辑,以缓存interv_base_intervExtras元素,并显式使用parseInt,而不是使用+运算符将字符串强制为int。请添加您尝试的完整代码。您的一些变量/元素未设计。请添加您尝试的完整代码。您的一些变量/元素尚未设计。
var $interv = $('#interv_base_intervExtras');
$("#interv_base_youorthird").change(function(){
if ($(this).val() === "2") {
const index = parseInt($('#extra-counter').val(), 10);
const tmpl = $interv.data('prototype').replace(/__name__/g, index);
$('#interv_base_intervExtras').append(tmpl);
$('#extra-counter').val(index + 1);
} else {
$('#interv_base_intervExtras').empty(); // <-- amend this
}
});