将下拉列表中所选选项的属性作为arg传递给' onchange'

时间:2014-04-19 18:21:55

标签: javascript php html ajax

enter image description here

此下拉列表是对另一个页面的AJAX响应。我想在'showStuds'函数onchange中传递2个args。一个arg是(this.value),另一个必须是所选选项的'sec'属性。 我不明白为什么但是

onchange='showStuds((this.value),(this.options[this.selectedIndex].getAttribute('sec')))'

无效。 请帮忙。

1 个答案:

答案 0 :(得分:2)

在您的情况下,

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);
}

JSFiddle

旁注:避免在分配处理函数时使用(),该函数将在遇到()时直接执行,之后不会执行...