【问题标题】:How to get multiple values from tail.select?如何从tail.select获取多个值?
【发布时间】:2021-09-29 20:22:10
【问题描述】:

我正在开发一种使用 tail select 的已弃用项目。我必须使用“多个”选项。一切顺利,我可以选择多个选项但是!值根本没有改变。我总是看到第一个选定项目的值。

我的意见:

我的选择:

options.descriptions = true;
options.hideSelected = true;
options.hideDisabled = true;
options.multiLimit = 10;
options.multiShowCount = false;
options.multiContainer = true;

我发现有一个 div,它累积选定的项目并保留它的值。但我需要它来创建名为inputs 的数组或其他东西......

这里有英雄帮忙吗? (我想找出 tail.select 解决方案。我能够捕获表单提交并将 div 映射到输入数组中。但我不想这样做!。)

【问题讨论】:

    标签: javascript jquery tail.select


    【解决方案1】:

    确保您的多选名称数组中有。

    <select name="departments[]" multiple>

    然后你在后端得到了一组选定的项目

    【讨论】:

      【解决方案2】:

      如果您尝试使用 javascript 获取这些值,那么您将遇到与具有 multiple 属性的普通选择字段相同的问题。如果是这样的话,你可能会这样做......

      const mySelectField = document.querySelector('select[name="departments"]');
      const getVal = () => {
          const options = mySelectField.querySelectorAll('option:checked');
          return Array.from(options, e => e.value);
      };
      

      但是为了在请求有效负载中发送您的值,您需要确保将数组语法添加到您的字段名称中...

      <select name="departments[]" multiple>
          ...
      </select>
      

      【讨论】:

        【解决方案3】:

        到目前为止,Tailselect 已被弃用。我强烈建议使用另一个 js 库作为下拉菜单。

        【讨论】:

        【解决方案4】:

        我能够从我的 router.get 的 request.query 中获取 Tail.Select 的值。 它作为单选字符串和多选数组出现。

        我在此线程的前面尝试了有关用方括号命名我的选择的建议,但这弄乱了 URL,我决定不这样做。

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-24
        • 1970-01-01
        • 2018-05-19
        • 1970-01-01
        • 2022-01-21
        • 2012-07-22
        • 2021-11-21
        相关资源
        最近更新 更多