需要我的下拉菜单显示多个
元素 onChange

发布于 2024-12-08 18:31:13 字数 365 浏览 2 评论 0原文

我对 Javascript 很陌生,对我正在使用的脚本有疑问。

我目前使用以下内容基于下拉菜单选择显示内容: http://jsfiddle.net/mcgarriers/ wjLXk/

但是,我想重新调整此表单,因此如果我选择“显示两个”选项,它将同时显示 div1 和 div1 。 div2,如果我选择“显示三个”,它将显示所有 div

如何使用 jsfiddle 中的代码实现此目的?

非常感谢您的帮助。

I'm very new to Javascript and have a query about a script I'm using.

I'm currently displaying content based on the dropdown menu selection using the following: http://jsfiddle.net/mcgarriers/wjLXk/

However, I'd like to rejig this form so if I select the "show two" option it will display both div1 & div2 and if I select "show three" it will display all the divs.

How do I achieve this with the code in my jsfiddle?

Many thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

献世佛 2024-12-15 18:31:13

我尝试了一下,获取 mySpecialElements 中的所有子节点形式,然后根据计数显示它们,这可能不是最有效的方法。这应该可以帮助您上路。

// display a certain element
function showElement(element) {

element.style.display = '';
 //alert(element.id )
var tee = element.id
// var gh = tee.charAt(tee.length-1);  // get the int form id will (fail if GT 9)
var gh = tee.slice(-1);

// if id GT 0 
if(gh  > 0){
   var elms = document.getElementById('mySpecialElements');

  // get all child nodes within mySpecialElements       
  for (var i = 0; i < gh ; i++) {
  // if DIV display elements by id as block
    if(elms.nodeName == "DIV"){ 
  document.getElementById(elms.childNodes[i].id).style.display = "block";
    }
   }
}

} 

顺便说一句,您应该将 mySpecialElements 中的所有标记元素放在一行上,否则 FF 会出现问题

 <div id="mySpecialElements"><div id="npup0" class="hidden">one div</div><div id="npup1"     class="hidden">second div</div><div id="npup2" class="hidden">third div</div>

ive had a little fiddle try this, get all the child nodes form with in your mySpecialElements and then display them based on the count , this is prolby not the most effect way. this should help get you on your way.

// display a certain element
function showElement(element) {

element.style.display = '';
 //alert(element.id )
var tee = element.id
// var gh = tee.charAt(tee.length-1);  // get the int form id will (fail if GT 9)
var gh = tee.slice(-1);

// if id GT 0 
if(gh  > 0){
   var elms = document.getElementById('mySpecialElements');

  // get all child nodes within mySpecialElements       
  for (var i = 0; i < gh ; i++) {
  // if DIV display elements by id as block
    if(elms.nodeName == "DIV"){ 
  document.getElementById(elms.childNodes[i].id).style.display = "block";
    }
   }
}

} 

BTW, you should make all you tag elements within mySpecialElements on one line, else will have issues with FF

 <div id="mySpecialElements"><div id="npup0" class="hidden">one div</div><div id="npup1"     class="hidden">second div</div><div id="npup2" class="hidden">third div</div>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文