javascript - 将下拉列表中选定选项的属性作为参数传递给 'onchange' 中的函数

标签 javascript php html ajax

enter image description here

这个下拉列表是对另一个页面的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);
}

JSFiddle

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

关于javascript - 将下拉列表中选定选项的属性作为参数传递给 'onchange' 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23173777/

相关文章:

javascript - 在 PHP 中使用 javascript 刷新 div

javascript - 通过 jquery ajax 发布表单数据时如何从 php 检索回显数据?

javascript - Chrome 中的 WebSQL 和 localStorage 范围

javascript - 如何设置使用 JavaScript 函数添加的文本字符串的样式?

javascript - 从不带引号的数组中获取数据

javascript - 未找到带有 svg 的 gatsby-background-image

php - 如果未选中复选框,则删除数据库条目

javascript - PHP读取DB值,JS递增,AJAX保存到DB,但为什么刷新页面之前默认为0.0?

html - 如何在第一行下方绘制水平分隔线?

javascript - 使 div 滚动直到到达页面顶部然后固定