Javascript 从下拉列表中的选定元素获取属性?
如果我有以下HTML代码:Javascript 从下拉列表中的选定元素获取属性?,javascript,jquery,html,select,Javascript,Jquery,Html,Select,如果我有以下HTML代码: <select id="selectSomething"> <option id="4" data-name="tomato" data-email="tomato@t.com">Tomato</option> <option id="5" data-name="potato" data-email="potato@t.com">Potato</option> </select>
<select id="selectSomething">
<option id="4" data-name="tomato" data-email="tomato@t.com">Tomato</option>
<option id="5" data-name="potato" data-email="potato@t.com">Potato</option>
</select>
但由于某种原因,我得到了一个错误:uncaughttypeerror:$selectedValue不是一个函数
这里出了什么问题,我如何让它工作?$selectedValue是一个jQuery选择器元素。从中获取财产可以通过以下方式完成:
var somethingName = $selectedValue.attr('data-name');
但在您的情况下,可能更适合使用.data,它是专门为数据属性而发明的
var somethingName = $selectedValue.data('name');
$selectedValue
它不是一个函数,而是一个包含元素的jQuery对象
你需要使用
var somethingName = $selectedValue.Data("name");
var somethingEmail = $selectedValue.Data("email");
可以找到更多的例子
锡罐上写的正是。这不是一个函数。当所有$selectedValue都是选择而不是函数时,您试图将数据名传递给$selectedValue。你想做什么?你想做什么?@thisOneGuy我想创建javascript变量来传递所选选项的值。是的,很多人解决了以下问题:@NickZuber所以本质上,当javascript代码运行时,如果用户选择第一个选项,我将有变量somethingName=tomato,somethingEmail=tomato@t.comNote方法是数据而不是数据
var somethingName = $selectedValue.Data("name");
var somethingEmail = $selectedValue.Data("email");