我的表单中有一个下拉菜单。每个选项都有3个与之关联的数据属性。选择一个选项后,我将调用一个函数,该函数将隐藏的html对象的值设置为每个数据属性的值,这样我就可以在下一页上提取该信息。但是,数据属性的值不断上升为“未定义”。我究竟做错了什么?
from itertools import chain
def variable_name(variable):
for name, object in chain(globals().items(), locals().items()):
if object is variable:
return name
return None # didn't find anything...
我希望警报显示数据量的值,但它会显示“未定义”
我也尝试过: 警报(x.getAttribute('data-amount'));
但是返回“ null”。
答案 0 :(得分:2)
x是<select>
,而不是<option>
。该选择没有数据属性。
如果需要该选项,请使用
var option = x.options[x.selectedIndex];
console.log(option.dataset.amount);
答案 1 :(得分:0)
This answer显示了如何从JavaScript获取自定义属性。
摘要:您可以使用getAttribute()
x.getAttribute("data-amount");
编辑:@ James也提出了一个要点,即x是选择器,而不是选项。因此,您可能需要结合以下两个答案:
x.options[x.selecetdIndex].getAttribute("data-amount");