将选择(多个)转换为无序列表

时间:2019-02-07 16:00:15

标签: javascript jquery css

我的目标是使用jquery将选择(多个)转换为无序列表。 为此,我认为我可以使用此线程中的一段代码:https://stackoverflow.com/a/7336612/10132321

我正在尝试将ID为“ mylist”的select转换为ul。运行js后,第一个列表框应该看起来像第二个带有复选框的列表框,但没有任何反应。我在做错什么吗?

https://jsfiddle.net/tomsx/t307vebr/

$(function() {
  var id = "mylist";
  $('#' + id).after("<ul id='mylist2' />")
    .children("option").each(function() {
      $("#mylist2").append("<li>" + $(this).text() + "</li>");
    })
    .end().remove();
  $('#mylist2').attr("id", id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="mylist" multiple size="6">
  <option value="0">First</option>
  <option value="1">Second</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
  <option value="4">Fourth</option>
  <option value="5">Fifth</option>
</select>

1 个答案:

答案 0 :(得分:1)

$(function(){
    var id = "mylist";
    $('#'+id).after("<ul id='mylist2' />")
        .children("option").each(function() {
            $("#mylist2").append("<li><label><input type=checkbox />"+$(this).text()+"<label></li>");
        })
        .end().remove();
    $('#mylist2').attr("id",id);
});