使用 javascript 访问单个选项的多个值

Accessing multiple values for single option with javascript

本文关键字:选项 javascript 访问 单个 使用      更新时间:2023-09-26

我有一个相当复杂的选项查找。 它来自一个单独的系统,我真的需要跟踪两条数据,而不是只发送一条数据,并且必须进行额外的查找,这很昂贵。 理想情况下,我想将从一个 AJAX 调用收到的所有数据传递到另一个调用中。

标准内容:

<select name="chosen_option" id="chosen_option">
  <option value="apple">Option One</option>
</select>

使用 javascript 访问它相当简单:

$("#chosen_option).val()

我知道我有很多方法可以根据我的搜索将额外的数据放入选项中:

<option value="PartA:'apple',PartB:'450'">Option One</option>
<option data-partb="450" value="apple">Option One</option>

对于第一种方法,我不明白如何自己引用 PartA 或 Partb,只有选项的整个值。

对于第二种方法,选择器无法从所选选项中获取该特定属性。 它说未定义。

为每个单独的选项添加一个 ID 也不允许我抓住它:

<option id="optionid_apple" data-partb="450" value="apple">Option One</option>
$("#optionid_apple").attr('data-partb)  // Not working
$("#optionid_apple").data('partb') // Not working
$("#optionid_apple").data('data-partb') // Not working

如何在单个选项上存储多个数据并在 Javascript 中访问它?

P.S - 我想过将值本身制作为 XML 文档,但我真的不知道如何在 HTML 等中正确执行此操作。

使用此选项可确保您获得所选选项。

$("#chosen_option option:selected").data('partb')

否则,您将尝试从 <select> 标记中获取属性。