我从未使用过name属性,但在MVC看来我必须这样做。
我有
<select name="testname" onChange="Alert()">
<option value="8">Test</option>
</select>
JS
function Alert(){
alert(this.name);
}
结果应该是警报(“testname”)
它简单,但我从未使用过,而且很难在google上找到,因为每个人都在询问获取价值或指数:D
答案 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,这是值得的。