2012-05-28 272 views
0

我从来没有使用名称属性,但在MVC看起来像我必须。获取选择框的名称属性

<select name="testname" onChange="Alert()"> 
<option value="8">Test</option> 
</select> 

JS

function Alert(){ 
alert(this.name); 
} 

结果应警惕( “测试名”)

它的简单,但我从来没有使用过,并且它很难找到对谷歌,因为每个人都在询问获得价值或指数:D

回答

5

问题是由于您拨打电话Alert,this指的是window,而不是DOM元素。你可以把它传递给函数作为参数:

<select name="testname" onchange="Alert(this)"> 

function Alert(element){ 
    alert(element.name); 
} 

有更好的方法来连接事件处理程序比使用HTML属性。我建议阅读various articles about event handling on quirksmode.org

还请确保您了解how this works

当然,你也可以。如果你正在使用jQuery,那么你应该使用它的事件处理程序绑定写

<select name="testname" onchange="alert(this.name)"> 

。例如:

$('select[name=testname]').change(function() { 
    alert(this.name); 
}); 

看一看一个jQuery tutorial,花时间去通过API documentation,这是值得的。

+0

哦,我忘了包含“this”作为参数。谢谢! –