【发布时间】:2020-03-30 17:45:58
【问题描述】:
我正在尝试检索我添加到选项元素的自定义数据属性,但它不起作用。
<p>Select a new car from the list.</p>
<select id="mySelect" onchange="myFunction(this.data-price)">
<option data-price="250" value="Audi">Audi</option>
<option data-price="130" value="BMW">BMW</option>
<option data-price="120" value="Mercedes">Mercedes</option>
<option data-price="400" value="Volvo">Volvo</option>
</select>
<p>When you select a new car, a function is triggered which outputs the value of the selected car.</p>
<p id="demo"></p>
function myFunction(val) {
document.getElementById("demo").innerHTML = "You selected: " + val;
console.log(val);
}
问题是当我将函数调用切换到:
onchange="myFunction(this.value)">
它会正确返回值,但是当我选择数据价格时,它会将undefined 返回到控制台。
【问题讨论】:
-
那不正确....
this.data-price说的是this.data minus price,这不是您读取数据属性的方式 -
@coderHelper 我试过它返回完整的选择元素!
-
@epascarello 那我该怎么办?
标签: javascript jquery html dom-events