这个下拉列表是对另一个页面的AJAX响应。我想在“showStuds”函数 onchange 中传递 2 个参数。一个参数是 (this.value),另一个参数必须是所选选项的“sec”属性。 我不明白为什么,但是
onchange='showStuds((this.value),(this.options[this.selectedIndex].getAttribute('sec')))'
不工作。 请帮忙。
最佳答案
this
在您的情况下指向 window
对象。
您实际上不必在此处传递值,您可以在函数内访问它,如下所示:
var select= document.getElementById('test1');
select.onchange = showStuds;
function showStuds(){
var value = select.options[select.selectedIndex].value;
var sec= select.options[select.selectedIndex].getAttribute('sec');
alert(value+" "+sec);
}
旁注:分配处理函数时避免使用 ()
,遇到 ()
时会直接执行该函数,不会执行之后...
关于javascript - 将下拉列表中选定选项的属性作为参数传递给 'onchange' 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23173777/