Javascript 使用jQuery将带有选项的optgroup的selectbox转换为多级UL-LI

Javascript 使用jQuery将带有选项的optgroup的selectbox转换为多级UL-LI,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要使用jQuery将带有options的optgroup的selectbox转换为多级ulli 代码: 2017 2016 2015 2014 2013 2012 2011 2010 2009 我想把这个换成李 $(函数(){ 选择_-box_-main_-id=$(“.multi-select-box”).attr(“id”); $(“#”+选择框主id)。在(“

我需要使用jQuery将带有options的optgroup的selectbox转换为多级ulli

代码:


2017
2016
2015
2014
2013
2012
2011
2010
2009
我想把这个换成李

$(函数(){
选择_-box_-main_-id=$(“.multi-select-box”).attr(“id”);
$(“#”+选择框主id)。在(“
    ”之后) .children(“optgroup”).each(function(){ $(“#temp”).append('
  • '+$(this.attr(“label”)+'
  • ')) .子项(“选项”)。每个(函数(){ $(“#temp”).after().append(“
  • ”+$(this.text()+”
  • ”); }) }) .end().remove(); $('#temp').attr({ “id”:选择“框”\u主\u id, “名称”:选择\u框\u主\u id }); }); $(文档).ready(函数(){ $('.btn_multiselect')。单击(函数(){ $(this).parent(“.btn group”).toggleClass(“打开”下拉列表); //multi_select_txt=$(this).text(); }); });
    
    2017
    2016
    2015
    2014
    2013
    2012
    2011
    2010
    2009
    2017
    2016
    2015
    2014
    2013
    2012
    2011
    2010
    2009
    
    为什么这两个选择?您需要对选择元素执行递归函数。然后通过optgroups进行迭代。您可以更新代码并在JSFIDLE中显示。提前谢谢。
        <select id="" class="" name="">
      <optgroup label="Swedish Cars">
        <option value="2017">2017</option>
        <option value="2016">2016</option>
        <option value="2015">2015</option>
        <option value="2014">2014</option>
      </optgroup>
      <optgroup label="German Cars">
        <option value="2013">2013</option>
        <option value="2012">2012</option>
        <option value="2011">2011</option>
        <option value="2010">2010</option>
        <option value="2009">2009</option>
      </optgroup>
    </select>