我正在尝试简化一些我认为有点草率的代码。基本上是一个脚本,它检查以查看选择框的值,并根据所选值显示或隐藏div。我想检查加载值和更改值。有更清洁的方法吗?
// Required items
$(document).ready(function(){
if($("#credentials").attr("selectedIndex") == "None") {
$('#CDiv').show();
}else{
$('#CDiv').hide();
}
$("#credentials").change(function(){
if ($(this).val() == "None" ) {
$('#CDiv').show();
} else {
$('#CDiv').hide();
}
});
});
我感谢任何帮助。我在jQuery上仍然有点绿色。谢谢!
答案 0 :(得分:3)
selectedIndex
是属性而非属性,并且不返回“None”。如果您想要读取它的值,则应使用prop
方法。也就是说,您可以触发更改事件,而不是使用if
语句。通过触发事件,您的change
处理程序在DOM就绪时执行一次:
$("#credentials").on('change', function() {
$('#CDiv').toggle( this.value === 'None' );
}).change();