获取选择框的名称属性

时间:2012-05-28 01:16:57

标签: javascript jquery jquery-selectors

我从未使用过name属性,但在MVC看来我必须这样做。

我有

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

JS

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

结果应该是警报(“testname”)

它简单,但我从未使用过,而且很难在google上找到,因为每个人都在询问获取价值或指数:D

1 个答案:

答案 0 :(得分: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

当然你也可以写

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

如果您使用的是jQuery,那么您应该使用它来绑定事件处理程序。例如:

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

查看jQuery tutorial并花些时间浏览API documentation,这是值得的。