Javascript 将操作绑定到<;选择>;
晚上好,我正在尝试创建一个“菜单”,并希望为菜单的每个元素绑定操作 我刚开始使用html(1000万年前) 所以我读到我必须使用onchange=“myfunction()” 所以我试着:Javascript 将操作绑定到<;选择>;,javascript,html,select,Javascript,Html,Select,晚上好,我正在尝试创建一个“菜单”,并希望为菜单的每个元素绑定操作 我刚开始使用html(1000万年前) 所以我读到我必须使用onchange=“myfunction()” 所以我试着: <!DOCTYPE html> <html> <script type="text/javascript"> function Load(obj) { if(obj.value == "X1"){ alert('X1'); }
<!DOCTYPE html>
<html>
<script type="text/javascript">
function Load(obj) {
if(obj.value == "X1"){
alert('X1');
}
if(obj.value == "X2"){
alert('X2');
}
}
</script>
<head>
<meta charset="utf-8" />
<title>Developper Informations</title>
</head>
<body>
<form method="post" action="traitement.php">
<label>Langages de programmation : </label>
<select onchange="Load()" name="Languages" id="Languages">
<optgroup label="XX1">
<option value="X1">X1</option>
<option value="X2">X2</option>
</optgroup>
</select>
</form>
</body>
</html>
功能负载(obj){
如果(对象值=“X1”){
警报('X1');
}
如果(对象值=“X2”){
警报('X2');
}
}
开发信息
编程语言:
X1
X2
但是不起作用。。。我尝试了几个选项…看起来您需要将
select
作为参数传递给Load()
尝试:onchange=“加载(此)”
如果不将参数传递给
Load()
,obj
将是未定义的。开发者控制台(按F12键查看)中可能有错误,说明值不存在。看起来您需要将选择
作为参数传递给加载()
尝试:onchange=“加载(此)”
如果不将参数传递给Load()
,obj
将是未定义的。开发者控制台(按F12键查看)中可能有错误,说明值不存在。
那怎么办?没用?您在控制台中看到任何错误吗?您没有向Load
函数传递任何内容。您是否希望obj
有一些值?onchange=Load()
没有向您的函数传递任何内容我尝试了加载(元素)无法工作idrk该做什么…它怎么办?您在控制台中看到任何错误吗?您没有向Load
函数传递任何内容。您是否希望obj
有一些值?onchange=Load()
没有向您的函数传递任何内容。我尝试过加载(元素)无法工作idrk该怎么做…@rsn是的,它会该
在该上下文中指的是添加绑定的元素。在本例中,这是
元素。ReferenceError:未定义加载;再说一次,这可能只是JSFIDLE的问题。最后,作为那个家伙,在HTML中避免内联样式或JS会更优雅一些,但这可能不存在。@rsn在JSFIDLE上,内联事件由于某种原因无法与JavaScript块通信。尝试将脚本放入HTML部分,如@4castle您也可以单击JavaScript面板中的设置工具,并将加载类型更改为“无换行”。这与您将脚本部分放在头部的脚本标记中是一样的。@MikeC谢谢!这实际上非常有用。我一直在想如何解决这个问题ages@rsn是的,会的该
在该上下文中指的是添加绑定的元素。在本例中,这是
元素。ReferenceError:未定义加载;再说一次,这可能只是JSFIDLE的问题。最后,作为那个家伙,在HTML中避免内联样式或JS会更优雅一些,但这可能不存在。@rsn在JSFIDLE上,内联事件由于某种原因无法与JavaScript块通信。尝试将脚本放入HTML部分,如@4castle您也可以单击JavaScript面板中的设置工具,并将加载类型更改为“无换行”。这与您将脚本部分放在头部的脚本标记中是一样的。@MikeC谢谢!这实际上非常有用。我一直在想如何解决这个问题
function Load(obj) {
if(obj.value == "X1"){
alert('X1');
}
else if (obj.value == "X2"){
alert('X2');
}
}
var languages = document.getElementById("Languages");
languages.addEventListener("change", Load(languages));