2013-03-22 71 views

回答

1

this是指select而不是option。试试这个:

<select> 
    <option data-type="1" value="a" onclick="alert($(this).attr('data-type'))">a</option> 
    <option data-type="2" value="b" onclick="alert($(this).attr('data-type'))">b</option> 
</select> 

另外,您可以使用:selected选择或this.selectedIndexoption。类似这样的:

<select onchange="alert($(':selected',this).attr('data-type'))" > 
2

data-type属性位于选项元素上而不是select。我假设你想要的当前选择的一个

<select onchange="alert($(this).find(':selected').attr('data-type'))"> 
    <option data-type="1" value="a">a</option> 
    <option data-type="2" value="b">b</option> 
</select> 

http://jsfiddle.net/49wyG/4/

5

你必须抓住元素的选择指标,并从那里的数据类型,试试这个:

<select onchange="alert(this.options[this.selectedIndex].getAttribute('data-type'));"> 
    <option data-type="1" value="a">a</option> 
    <option data-type="2" value="b">b</option> 
</select> 

厂对我来说很好。

1

你需要做到这一点...

<select onchange="alert(this.options[this.selectedIndex].getAttribute('data-type'))"> 
    <option data-type="1" value="a">a</option> 
    <option data-type="2" value="b">b</option> 
</select> 

上更改事件的“此”对象列表,而不是选择

相关问题