Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中使用select输入追加和删除div_Javascript_Jquery - Fatal编程技术网

Javascript 在jQuery中使用select输入追加和删除div

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'。附录

我试图根据选择菜单的值添加和删除一个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'。删除; } };
问题是,当再次选择第一个选项时,删除了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
  }
});