首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当第一个装载有一个triger时,如何销毁第一个js装载

当第一个装载有一个triger时,如何销毁第一个js装载
EN

Stack Overflow用户
提问于 2014-09-24 20:48:47
回答 2查看 53关注 0票数 0

正如你会从我的小提琴下面看到,我正在努力,但需要更多的练习,一些帮助,请。

我有一个可加载多达4个div的选择框。我有第二个选择框,如果从第一个选择框中选择了一个以上的复选框,则只能显示该复选框。

我的问题是,当我将第一个选择框更改为零时,虽然它移除了第二个选择框,但它并没有删除由它加载的div。

有什么建议吗。

HTML

代码语言:javascript
复制
<html>
<div>
 <label>Adults</label>
  <select id='Adults'>
   <option value="0" selected="selected">0</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
  </select>
 </div>
 <div style='display:none;' id='1Adult'>First Adult information</div>
 <div style='display:none;' id='2Adults'>Second Adult information</div>
 <div style='display:none;' id='3Adults'>Third Adult information</div>
 <div style='display:none;' id='4Adults'>Fourth Adult information</div>
 <div style='display:none;' id='ChildSelector'>
  <label>Children</label>
   <select id='Children'>
   <option value="0" selected="selected">0</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
 </select>
</div>
<div style='display:none;' id='1Child'>First Child information</div>
<div style='display:none;' id='2Children'>Second Child information</div>
<div style='display:none;' id='3Children'>Third Child information</div>
</html>

JS $(Document).ready(函数(){$(‘#成人’).on(‘change’,function() { if ( this.value == '0') ){$(“1成人”).hide();$(“2成人”).hide();$(“3成人”).hide();$(“#4成人”).hide();$(“#儿童选择器”).hide();} if ( this.value ==‘1’‘){$(“成人#1”).show();$(“#2成人”).hide();$(“#3成人”).hide();$(“#4成人”).hide();$(“儿童选择者”).show();}否则if ( this.value == '2') {$(“1成人”).show();$(“2成人”).show();$(“3成人”).hide();$(“4成人”).hide();$(“儿童选举人”).show();}否则if ( this.value == '3') {$(“1成人”).show();$(“2成人”).show();$(“3成人”).show();$(“4成人”).hide();$(“儿童选举人”).show();}否则if ( this.value == '4') {$(“1成人”).show();$(“2成人”).show();$(“3成人”).show();$(“4成人”).show();$(“儿童选举人”).show(};}};};$(.ready)(函数(){$(‘儿童’).on(‘改变’,函数(){ if ( this.value == '0') ){$(“1儿童”).hide();$(“#2儿童”).hide();$(“#3子弟”).hide();}否则if ( this.value == '1') { $("#1Child").show();$(“#2 1Child”).hide();$(“#3 1Child”).hide();

代码语言:javascript
复制
  }
  else if ( this.value == '2')
  {
    $("#1Child").show();
    $("#2Children").show();
    $("#3Children").hide();

  }
  else if ( this.value == '3')
  {
    $("#1Child").show();
    $("#2Children").show();
    $("#3Children").show();

  }

 });
 });

http://jsfiddle.net/PeteInSpain/ytg7hey7/2/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-24 21:10:23

一种非常脏的方法是将子选择元素的值设置为0,因此它将删除元素本身。

代码语言:javascript
复制
if ( this.value == '0')
{
    //...
    $("#Children").val(0); //Set it back to 0
    $("#Children").trigger("change"); //Call the listeners
}

或者您可以重新构造HTML,以便

代码语言:javascript
复制
<div style='display:none;' id='1Child'>First Child information</div>
<div style='display:none;' id='2Children'>Second Child information</div>
<div style='display:none;' id='3Children'>Third Child information</div>

块位于<div style='display:none;' id='ChildSelector'>内部。

票数 0
EN

Stack Overflow用户

发布于 2014-09-24 20:57:08

使用

也移除()。

代码语言:javascript
复制
$("#ChildSelector").hide().remove();

http://api.jquery.com/remove/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26026198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档