0

遇到以下问题 - 无法按预期工作,也会出现 JS 文档错误。

JSFiddle Nota Worka。

4

3 回答 3

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');
        }
    })
})
于 2011-04-18T15:48:57.267 回答
0

你也可以这样做,http://jsfiddle.net/edelman/egjF4/10/

var form = document.getElementById('myform');
if (form.selectbox1.selectedIndex == 2)

这样,您就可以缓存表单以防以后要引用它,从而防止另一个元素查找并加速您的代码。

于 2011-04-18T15:50:02.223 回答
0

我相信 jsfiddle 在它自己的小保护 XPC 气泡中运行,因此 showhidebtime 不会被视为通过内联 javascript 调用定义的。最佳做法是始终在 javascript 文件中添加事件,而不是与元素内联。

此外,您需要更改要显示的表单才能name="myform"正常document.myform工作。

试试这个小提琴:http: //jsfiddle.net/garreh/qb6fw/

于 2011-04-18T15:51:34.087 回答