javascript - 从下拉列表中选择选项

标签 javascript jquery html

我正在为一个新的美食博客构建一个食谱查找器。我的设计基本上涉及用户从下拉菜单中一次选择一种成分<select> ,该选项将从列表中消失(因此他们无法再次选择它)并出现在另一个 HTML 列表中,并带有一个用于将其从列表中删除的链接。完成后,他们单击一个按钮,然后进入结果页面。

这是 PHP 生成的选择标记:

<select>
    <option value="">Please select</option>
    <option value="beef-mince">Beef mince</option>
    <option value="carrots">Carrots</option>
    ...
</select>

这并不是非常复杂,但它确实提出了一些关于我将如何做其中一些事情的问题。我正在使用 jquery。

  1. 我需要将所选项目存储在内存中,以便我知道在完成选择项目后将哪些内容发送到搜索页面。您认为最好的方法是什么,因为每个项目都有两个值(其“真实”值和数据库值)?

  2. 如何在他们选择某些内容后“请选择”所选选项(最好不要触发 onchange 事件)?

  3. 将其存储在内存中并将其添加到他们正在搜索的内容的显示列表中后,如何从可用项目中删除该项目?我可以“隐藏”或禁用它(安全地)吗?

  4. 如果在 #3 中我必须从 DOM 中删除它,当我再次添加它时,我可以对列表进行排序(基于任一值)并将“please-select”选项保留在顶部吗?

最佳答案

1.) 您可以将隐藏的表单元素附加到页面,其值是所选选项的值。

2.) jQuery("#select-list")[0].options[0].selected = true//假设它是第一项

3.) 我将使用 jQuery("#select-list option:selected").remove() 从 DOM 中删除元素

4.) 您可以使用 before()。 jQuery(your_default_option).before("#select-list 选项:first");

关于javascript - 从下拉列表中选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/626355/

相关文章:

javascript - 使用 html5 Canvas 创建形状后使用鼠标拖动形状

javascript - If 语句更改添加的新行添加的数量

javascript - 创建旋转形状的背景

html - 在 html 中嵌入图像并保存以供离线查看(即)

javascript - 单击确认按钮后移除卡

javascript - 当我交换表行时,无法在 JQuery 函数中交换数字

javascript - 使用 document.evaluate() 提取 <svg> 元素?

javascript - 在 ASP.Net Core MVC 中使用 AJAX 提交表单

php - jQuery 在 AJAX 调用中发布版本

javascript - 如何通过存在于 page1.aspx 中的 javascript 访问,存在于 page2.aspx 中的隐藏字段在两个框架的框架集中