【问题标题】:Using <ul><li> instead of <select> for Navigation/Filtering使用 <ul><li> 而不是 <select> 进行导航/过滤
【发布时间】:2018-03-06 16:09:25
【问题描述】:

我正在对当前使用&lt;select&gt; 的网站进行“现代化改造”,以允许用户选择要显示的“类别”。一个人为的例子:

<select>
    <option value="/Sales/1">Computers</option>
    <option value="/Sales/2">TVs</option>
    <option value="/Sales/3">Fidget Spinners</option>
</select>

那么当然是使用 javascript 来导航到选定的值。如果未启用 javascript,您可以使用后备 &lt;submit&gt; 按钮。

第一次加载页面时,默认选择第一项(期望行为)。回发后,&lt;select&gt; 可以(确实)显示当前选择的&lt;option&gt;(也是所需的行为)。

我对它的工作原理没有任何疑问。它完全可用并且符合要求。我唯一的缺点是您几乎无法控制&lt;select&gt; 在移动浏览器中的呈现方式。然后是HTML purists who insist that &lt;select&gt; shouldn't be used for navigation(无意冒犯)。 (起初我认为我没有将它用于导航,更多地用作过滤器,但该网站上的示例图像显示有人选择了一个类别,这或多或少是我正在做的)。 em>

所以这里的终极问题是:

1) 我应该继续使用&lt;select&gt;吗?还是为了“标准”和对外观的额外控制,使用&lt;ul&gt;&lt;li&gt; 实现?

2) 如果我要使用&lt;ul&gt;&lt;li&gt;,我该怎么做?我可以看到如何使用 CSS 来显示/隐藏列表项,但是复制折叠时显示“选定”项的行为似乎要复杂得多,当列表显示。搜索了高和低,找不到任何这样做的东西。有什么例子或想法吗?

PS 可能值得注意的是,选项/项目从大约 10 个到 100 个左右不等。而且,不,有一个文本框来指定或搜索选项是不可行的(或可取的)。

【问题讨论】:

  • 如果 select 适合你,你为什么不直接用 silviomoreto.github.io/bootstrap-select/examples 之类的库来设置它的样式呢?
  • 我猜似乎没有人介意在这种情况下使用
  • 看来我不会再得到任何答案了。 @DamianMartyniuk 我不知道有 css/jquery 库可以覆盖移动设备本机 &lt;select&gt; 下拉行为。您为什么不发布答案,我会接受。
  • 标签: jquery html css responsive-design


    【解决方案1】:

    您可以使用一些库来设置您的样式,例如:https://silviomoreto.github.io/bootstrap-select/examples/ 您将保留所有默认功能并拥有更多功能:)

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签