Javascript 从<;获取自定义html属性;选择>;使用JQuery控制
我在想我到底做错了什么 我有以下HTML: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<
<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代码放在正文的末尾