这是一些不起作用的简单代码。
我有选择菜单,它使用jQuery更改功能来触发。 Textarea的默认显示设置为无。
select选项只有2个值。如果选择第二个值“是”,则Textarea slideUp,此部分可用,
但如果更改回默认值'否',则Textarea应向上滑动,即slideUp()但不会。警告表明更改函数正在触发并且正在设置val变量,但我不明白,slideUp函数不会触发。
<style type="text/css">
textarea.someClass {
height:100px;
width:220px;
display:none;
}</style>
<select class="initials">
<option value="no">Initials? No</option>
<option value="yes">Initials? Yes</option>
</select><br/>
<textarea class="someClass">Put instructions here </textarea>
<script>$('select').change(function(){
theVal = $('select.initials').val();
if(theVal == 'yes') {
$('textarea.someClass').slideUp();
} else if (theVal != 'yes') {
$('textarea.someClass').slideDown();
//$('.mtsa').css('display', 'none');
}
})</script>
答案 0 :(得分:1)
你的JS有点偏离 - http://jsfiddle.net/tAfU5/
<script type="text/javascript">
$('select.initials').change(function(){
var theVal = $(this).val();
if(theVal == 'yes') {
$('textarea.someClass').slideDown();
} else {
$('textarea.someClass').slideUp();
}
}).trigger('change');
</script>
答案 1 :(得分:0)
似乎与默认值和滑动的行为不匹配。默认情况下,没有选中,因此我们希望textarea
可见。要查看此作品,请选择是,然后再次选择否。 textarea
现在可见了。所以我猜两种情况之一就是这样:
您slideUp()
和slideDown()
不匹配。 slideDown()
显示一个元素,而slideUp()
隐藏它。只需切换这两个。
您希望默认显示是。为此,请将selected
添加到第二个<option>
代码。