【问题标题】:How would I convert Select Options into a list but keep values?如何将 Select Options 转换为列表但保留值?
【发布时间】:2023-04-05 15:43:01
【问题描述】:

我有一个如下所示的选择下拉列表:

<form autocomplete="off" method="post" action="/search.html" name="asearch">
<select id="ingredient" name="attributes[3]" onchange="asearch.submit()">
    <option value="16" />Biscuits
    <option value="3" />Bites
    <option value="6" />Bones
    <option value="18" />Chews
    <option value="9" />Popcorn
    <option value="56" />Shanks
    <option value="1" />Sticks
    <option value="140" />Toy</select>
<input type="hidden" name="advanced" value="1" /></form>

我想将此选择框转换为无序列表,但我需要以某种方式保留选项值并让新链接链接到这些值。

到目前为止,我已经设法找到一小块 jquery 来将选择下拉列表转换为列表,但是当我这样做时,它也会删除值,这意味着所有链接都只是链接到无处。有没有办法做到这一点?保留这些值并以某种方式将它们转换为 href?

提前致谢!!

【问题讨论】:

    标签: jquery list select options


    【解决方案1】:

    一个简单的解决方案就是这样做

    $('#ingredient option').each(
    function() {
        $('#list').append('<li><a href="/'+$(this).val()+'">'+$(this).text()+'</a></li>');
    }
    );
    

    和 HTML

    <form autocomplete="off" method="post" action="/search.html" name="asearch">
    <select id="ingredient" name="attributes[3]" onchange="asearch.submit()">
        <option value="16" />Biscuits
        <option value="3" />Bites
        <option value="6" />Bones
        <option value="18" />Chews
        <option value="9" />Popcorn
        <option value="56" />Shanks
        <option value="1" />Sticks
        <option value="140" />Toy</select>
    <input type="hidden" name="advanced" value="1" /></form>
    <ul id="list">
    
    </ul>
    

    这里是FIDDLE

    【讨论】:

    • 谢谢。这确实有效,但链接不会去任何地方。也许我所要求的是不可能的。这是电子商务网站的优化搜索菜单,因此原始选项值确实链接到优化产品搜索。我需要新的链接来做同样的事情。要么,要么我需要完全改变选择框和选项的外观,使其看起来像普通的 href 链接。
    • 您必须自定义链接。我不知道链接应该去哪里以及它们的外观。您必须知道是否可以使用值 (16, 3, 6, 18, 9, 56 ...) 创建正确的链接
    猜你喜欢
    • 1970-01-01
    • 2021-06-06
    • 2013-01-23
    • 2012-04-25
    • 2020-06-10
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    相关资源
    最近更新 更多