首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将<select>转换为<ul>,但保留功能

将<select>转换为<ul>,但保留功能
EN

Stack Overflow用户
提问于 2016-06-03 23:22:05
回答 1查看 2.4K关注 0票数 0

我想要将“选择”转换为"ul“列表,以便能够很好地将其样式化。它的工作方式在我的插件,是当你选择一个“选择”选项,你会得到另一个部分加载在它下面。因此,我已经设法使用jQuery将"select“转换为"ul”,但是当我单击"li“列表中的一个选项时,它并没有按照原来的"select”下拉列表加载我的内容。

有办法吗?我想这跟价值观有关吧?

下面是我的代码:

代码语言:javascript
复制
$(".jr-form-categories").append('<ul id="property-list"></ul>');
$(".jr-cat-select option").each(function(){
    $("#property-list").append('<li><a href="' + $(this).attr('value') + '">' +     $(this).html() + '</a></li>');
});
$("#property-list").on("click", "li a", function(e){
    e.preventDefault();
    $(".jr-cat-select").val($(this).attr("href"));
});

下面是HTML:

代码语言:javascript
复制
<select name="data[Listing][catid][]" class="jr-cat-select jrSelect" size="1">
    <option value="0">- Select Category -</option>
    <option value="4"> Flat</option>
    <option value="5"> House</option>
    <option value="7"> Shared Flat</option>   
    <option value="6"> Shared House</option>
    <option value="8"> Studio</option>  
</select>

这就是转换后的列表的样子,当您单击链接时,它就不工作了:

代码语言:javascript
复制
<ul id="property-list">
    <li><a href="0">- Select Category -</a></li>
    <li><a href="4"> Flat</a></li>
    <li><a href="5"> House</a></li>
    <li><a href="7"> Shared Flat</a></li>
    <li><a href="6"> Shared House</a></li>
    <li><a href="8"> Studio</a></li>
</ul>
EN

回答 1

Stack Overflow用户

发布于 2016-06-03 23:27:30

我相信你是在找类似Select2的东西。这可以将您的<select>转换为<ul><li>,不仅如此,它还为您提供了自动提示等选项。

如果您想要将其转换回来,请使用.select2("destroy")。非常简单。

代码语言:javascript
复制
$(function () {
  $("select").select2();
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.full.min.js"></script>
<select name="data[Listing][catid][]" class="jr-cat-select jrSelect" size="1">
  <option value="0">- Select Category -</option>
  <option value="4"> Flat</option>
  <option value="5"> House</option>
  <option value="7"> Shared Flat</option>   
  <option value="6"> Shared House</option>
  <option value="8"> Studio</option>  
</select>

将其转换回<select>的演示

代码语言:javascript
复制
$(function () {
  $("select").select2();
  $("#remBtn").click(function () {
    $("select").select2("destroy");
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.full.min.js"></script>
<select name="data[Listing][catid][]" class="jr-cat-select jrSelect" size="1">
  <option value="0">- Select Category -</option>
  <option value="4"> Flat</option>
  <option value="5"> House</option>
  <option value="7"> Shared Flat</option>   
  <option value="6"> Shared House</option>
  <option value="8"> Studio</option>  
</select>
<button id="remBtn">Remove</button>

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

https://stackoverflow.com/questions/37624786

复制
相关文章

相似问题

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