[英]Toggle class from dropdown menu
我尝试通过在下拉菜单中选择一个选项来切换一个类,我尝试使用alert()检查它是否有效,但我似乎无法让它工作。
HTML :
<html>
<body>
<select id="dropdown">
<option value="1">Steinkjer</option>
<option value="2">Verdal</option>
</select>
</body>
</html>
使用Javascript:
$('#dropdown option:selected').click(function(){
var getText = $('#dropdown option').text();
alert($('.overlay-'+getText));
});
请帮我解决这个问题。
$('#dropdown option:selected')
不是活动对象。 您的代码将点击处理程序绑定到页面加载时的选定选项。 您应该使用事件委派或更好地监听select
元素的change
事件。
$('#dropdown').on('change', function() {
// Get text content of the selected option
var getText = $('option:selected', this).text();
// Get current value of the select element
// var getValue = this.value;
console.log(getText);
console.log($('.overlay-'+getText));
});
你需要:
- 检查document.ready已执行
- 分配更改事件
要将某些事件绑定到DOM元素,需要document.ready,以确保在关联事件时确保创建DOM元素。
检查此代码段:
$(document).ready(function() { $('#dropdown').change(function() { var getText = $('#dropdown option:selected').html(); $("#test").removeClass(); $("#test").toggleClass("overlay-" + getText); }); });
.overlay-Steinkjer { background-color: red; } .overlay-Verdal { background-color: green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <body> <select id="dropdown"> <option value="1">Steinkjer</option> <option value="2">Verdal</option> </select> <p id="test">test paragraph</p> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.