Javascript 表单选择 Selectedindex

发布于 2024-11-02 06:12:14 字数 132 浏览 0 评论 0原文

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

JSFiddle Nota Worka。

Having problems with the following - Not working as expected, getting JS doc errors as well.

JSFiddle Nota Worka.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

杯别 2024-11-09 06:12:14

尝试这个小提琴: http://jsfiddle.net/maniator/egjF4/6/

并更改if 行:

if (document.forms['myform'].selectbox1.selectedIndex == 2)

您需要 == 来检查值

UPDATE

根据下面的评论,这里是同一件事的 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');
        }
    })
})

try this fiddle: http://jsfiddle.net/maniator/egjF4/6/

and change the if line to:

if (document.forms['myform'].selectbox1.selectedIndex == 2)

you need the == to check values

UPDATE

Based on your comments below here is the jQuery for the same thing:

$(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');
        }
    })
})
月野兔 2024-11-09 06:12:14

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

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

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

you could also do this, http://jsfiddle.net/edelman/egjF4/10/

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

this way you're caching the form in case you want to reference it later, preventing another element lookup and speeding up your code.

乱了心跳 2024-11-09 06:12:14

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

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

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

I believe jsfiddle runs in it's own little protective XPC bubble, so showhidebtime will not be seen as defined via an inline javascript call. Best practice is to always add events in the javascript file, not inline with the elements.

Also you need to change your form to show name="myform" in order for document.myform to work.

Try this fiddle: http://jsfiddle.net/garreh/qb6fw/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文