【问题标题】:HTML multi level Dropdown boxHTML 多级下拉框
【发布时间】:2018-02-22 04:18:26
【问题描述】:

我想创建一个多级下拉框。当我点击 setauthor 时,它应该会显示一个带有一些名称的子菜单

我的一级代码:

<select>
     <option value="Like">Like</option>
     <option value="Star">Star</option>
     <option value="Set Author">Set Author</option>
</select>

请帮助我。

【问题讨论】:

标签: html


【解决方案1】:

试试这个

<select>
	<optgroup label="First Group">
	     <option value="Like">Like</option>
	     <option value="Star">Star</option>
	</optgroup>
	<optgroup label="Second Group">     
	     <option value="Set Author">Set Author</option>
	</optgroup>
</select>

【讨论】:

  • 感谢您的回答....当我单击 setAuthor 时,它应该会显示一个子菜单,其中包含一些名称,例如 nandhini、abinaya、..
【解决方案2】:

要达到预期的效果,请使用以下在下拉菜单中使用 eventListener 的选项

HTML:

<select class="first">
     <option value="Like">Like</option>
     <option value="Star">Star</option>
     <option value="Set Author">Set Author</option>
</select>
<select id="set">
     <option value="John">John</option>
     <option value="Doe">Doe</option>
     <option value="Mark">Mark</option>
</select>
<select id="star">
     <option value="one">1</option>
     <option value="two">2</option>
     <option value="three">3</option>
     <option value="four">4</option>
     <option value="five">5</option>
</select>
<select id="like">
     <option value="like">like</option>
     <option value="good">good</option>
     <option value="bad">bad</option>
</select>

CSS:

#set, #star{
  display:none
}

JS:

var elem = document.querySelectorAll('.first')

for(var i =0; i < elem.length; i++){
  elem[i].addEventListener('change',function(e){
    if(e.target.value == 'Set Author'){
       document.getElementById('set').style.display = 'inline-block'
       document.getElementById('star').style.display = 'none'
       document.getElementById('like').style.display = 'none'
    }
    if(e.target.value == 'Star'){
       document.getElementById('star').style.display = 'inline-block'
       document.getElementById('set').style.display = 'none'
       document.getElementById('like').style.display = 'none'
    }
    if(e.target.value == 'Like'){
       document.getElementById('like').style.display = 'inline-block'
       document.getElementById('star').style.display = 'none'
       document.getElementById('set').style.display = 'none'
    }
  })
}

codepen-https://codepen.io/nagasai/pen/rJqVje

【讨论】:

    【解决方案3】:

    您可以使用如下所示的列表。然后使用 bootstrap 设置菜单样式。

        <select>
             <ul>
             <li>Like</li>
             <li>Star</li>
               <ul>
                  <li>Set Author</li>
               </ul>
             </ul>
        </select>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-21
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 2018-12-16
      相关资源
      最近更新 更多