遇到以下问题 - 未按预期工作,也会出现JS文档错误。
答案 0 :(得分:1)
尝试这个小提琴:http://jsfiddle.net/maniator/egjF4/6/
并将if行更改为:
if (document.forms['myform'].selectbox1.selectedIndex == 2)
您需要==
来检查值
<强>更新强>
根据你的评论,下面是jQuery的相同内容:
$(function(){
$('#selectbox1').change(function(){
if(this.selectedIndex == 2){
$('#input1, #input2, #asterisk').css('visibility', 'visible');
$('#input2').addClass('required');
}
else {
$('input, #asterisk').css('visibility', 'hidden');
$('#input2').removeClass('required');
}
})
})
答案 1 :(得分:0)
你也可以这样做,http://jsfiddle.net/edelman/egjF4/10/
var form = document.getElementById('myform');
if (form.selectbox1.selectedIndex == 2)
通过这种方式,您可以缓存表单以防以后要引用它,从而阻止其他元素查找并加快代码速度。
答案 2 :(得分:0)
我相信jsfiddle运行它自己的小保护XPC气泡,所以showhidebtime不会被看作是通过内联javascript调用定义的。最佳做法是始终在javascript文件中添加事件,而不是与元素内联。
您还需要更改表单以显示name="myform"
,以便document.myform
能够正常工作。
试试这个小提琴: http://jsfiddle.net/garreh/qb6fw/