我有一个相当复杂的选项查找。它来自一个单独的系统,我真的需要跟踪两个数据而不是只发送一个数据并且不得不进行额外的查询,这些查询很昂贵。理想情况下,我想将从一个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等中正确地做到这一点。
答案 0 :(得分:1)
使用此选项可确保您获得所选选项。
$("#chosen_option option:selected").data('partb')
否则您试图从<select>
标记中获取属性。