我有一个简单的下拉列表,我想要有它,以便如果用户选择有一个婴儿,消息更改为有一个婴儿,但任何其他选择。消息保持不变(什么都没有),但这不起作用。有人能帮帮忙吗。请玩我的jsfiddle。
这里的http://jsfiddle.net/Z9YJR/是html
<select id="leave">
<option value="5">Get Married</option>
<option onchange="changeMessage()" value="100">Have a Baby</option>
<option value="90">Adopt a Child</option>
<option value="15">Retire</option>
<option value="15">Military Leave</option>
<option value="15">Medical Leave</option>
</select>
<div id="message"></div>
这是js
function changeMessage() {
document.getElementById("message").innerHTML = "Having a Baby!!";
}
发布于 2012-08-23 03:40:37
它不能工作,因为您在JSFiddle中的脚本是在它自己的作用域内运行的(参见左侧的"OnLoad“下拉列表?)。
解决这个问题的一种方法是在javascript中绑定事件处理程序(它应该在这里):
document.getElementById('optionID').onchange = function () {
document.getElementById("message").innerHTML = "Having a Baby!!";
};
另一种方法是修改fiddle环境的代码,并显式地将您的函数声明为全局函数,以便您的内联事件处理程序可以找到它:
window.changeMessage() {
document.getElementById("message").innerHTML = "Having a Baby!!";
};
发布于 2013-05-15 20:50:20
简单
<script>
jQuery.noConflict()(document).ready(function() {
$('#hide').css('display','none');
$('#plano').change(function(){
if(document.getElementById('plano').value == 1){
$('#hide').show('slow');
}else
if(document.getElementById('plano').value == 0){
$('#hide').hide('slow');
}else
if(document.getElementById('plano').value == 0){
$('#hide').css('display','none');
}
});
$('#plano').change();
});
</script>
此示例显示和隐藏div (如果在combobox中选择了某个特定值
https://stackoverflow.com/questions/12080098
复制相似问题