2

我有一个相当复杂的选项查找。它来自一个单独的系统,我真的需要跟踪两条数据,而不是只发送一个并且必须进行昂贵的额外查找。理想情况下,我想将从一个 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 中访问它?

PS - 我考虑过让值本身成为 XML 文档,但我真的不知道如何在 HTML 等中正确地做到这一点。

4

1 回答 1

1

使用它来确保您获得选定的选项。

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

否则你试图从<select>标签中获取属性。

于 2012-06-22T01:49:56.310 回答