Javascript表单选择Selectedindex

时间:2011-04-18 15:45:10

标签: javascript forms select selectedindex

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

JSFiddle Nota Worka.

3 个答案:

答案 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/