首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将选定的选项值从HTML表单添加到jQuery多选?

如何将选定的选项值从HTML表单添加到jQuery多选?
EN

Stack Overflow用户
提问于 2020-07-09 09:01:30
回答 1查看 148关注 0票数 0

我正在使用jQuery multiselect,并希望从表单向其添加选项值。

到目前为止,在我构建的代码中,我选择了“食物: mac和奶酪”和“补充剂:维生素e”。如果我在输入栏中输入"coke“并从下拉列表中选择"drinks”,如何在清除表单时将其作为"drinks: coke“添加到我的jQuery多选中(以便可以添加额外的文本和下拉项)?

编辑:我的问题是如何使用HTML表单选择“饮料:可乐”,使其像“食物: mac和奶酪”和“补充剂:维生素e”一样显示为蓝色(和灰色)?如果我之前没有解释清楚,很抱歉。

代码语言:javascript
复制
 <script src="https://cdnjs.cloudflare.com/ajax/libs/slim-select/1.26.0/slimselect.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slim-select/1.26.0/slimselect.min.css" rel="stylesheet"></link>

<select id="multiple" multiple>
  <option value="value 1">drinks: lemonade</option>
  <option value="value 2">food: hot dog</option>
  <option value="value 3" selected>food: mac & cheese</option>
  <option value="value 4">food: pizza</option>
   <option value="value 8" selected>supplements: vitamin e</option>
</select>
<br><br>
<form>
  <label for="fname">food name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="type">Choose a label:</label>
  <select name="type" id="type">
    <option value="value 5">food</option>
    <option value="value 6">drinks</option>
    <option value="value 25">drugs</option>
    <option value="value 50">supplements</option>
  </select><br><br>
   <input type="submit" value="Add">
</form>

<script type="text/javascript">//<![CDATA[
new SlimSelect({
  select: '#multiple'
})
  //]]></script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-09 10:38:28

尝尝这个

代码语言:javascript
复制
new SlimSelect({
  select: '#multiple'
});

const btnAdd = document.querySelector('input[type="submit"]');

btnAdd.addEventListener('click', function(e) {
e.preventDefault();

let input = document.querySelector('#fname');
let select = document.querySelector('#type');
let selectOptions = document.querySelectorAll('#type > option');
let selectMultiple = document.querySelector('#multiple');

// create option element
let option = document.createElement('option');
let optionContent = selectOptions[select.selectedIndex].textContent+':'+input.value;
option.value = optionContent;
option.textContent = optionContent;

// insert in select multiple
selectMultiple.appendChild(option);

// reset input and select
input.value = '';
select.selectedIndex = 0;

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

https://stackoverflow.com/questions/62805809

复制
相关文章

相似问题

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