Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从<;获取自定义html属性;选择>;使用JQuery控制_Javascript_Jquery_Html_Select - Fatal编程技术网

Javascript 从<;获取自定义html属性;选择>;使用JQuery控制

Javascript 从<;获取自定义html属性;选择>;使用JQuery控制,javascript,jquery,html,select,Javascript,Jquery,Html,Select,我在想我到底做错了什么 我有以下HTML: <select name="somename" id="DropDownList1"> <option value=""></option> <option value="1" valp="7700000000000000">Item 1</option> <option value="2" valp="7C08000000000000">Item 2<

我在想我到底做错了什么

我有以下HTML:

<select name="somename" id="DropDownList1">
    <option value=""></option>
    <option value="1" valp="7700000000000000">Item 1</option>
    <option value="2" valp="7C08000000000000">Item 2</option>
    <option value="3" valp="5800000000000000">Item 3</option>
</select>

结果我得到了“valp=undefined”

change
函数为您提供了
select
,该选项未更新
选项。您需要从中查询所选的
:值。一旦选择了选项,就可以查询
valp
属性

function onChangeDropDownList1(obj) {
    var vP = $(obj).find('option:selected').attr('valp');
    alert("valp=" + vP);
};

Fiddle:

的上下文中,这个
指的是
,而不是
,因此您不会得到带有
valp
属性的节点

$('#DropDownList1').change(function () {
    onChangeDropDownList1(this);
});

function onChangeDropDownList1(obj) {
    // Get the selected option
    var vP = $(obj).find(':selected').attr('valp');
    alert("valp=" + vP);
};

传递
选项,而不是
选择:

onChangeDropDownList1($(this).children(':selected'));
var vP = $($(obj).children(':selected')).attr('valp');
或者,从传递的
选择中抓取选项:

onChangeDropDownList1($(this).children(':selected'));
var vP = $($(obj).children(':selected')).attr('valp');

只需将JS代码放在正文的末尾