根据选择的下拉选项,将输入字段更改为禁用或启用

时间:2013-04-01 17:33:50

标签: javascript jquery twitter-bootstrap

我正在尝试启用或禁用输入字段,具体取决于下拉列表的选择。

代码在这里摆弄:http://jsfiddle.net/mwoods98/cr7dW/

$('#getHoldStatus').change(function()
                    {
                        var selected_item = $(this).val()
                        if(selected_item == "On Hold until Candidate Available"){
                            $('#datepicker').val("").removeClass('hidden');
                        }
                        else
                        {
                            $('#datepicker').val(selected_item).addClass('hidden');
                        }
                    }
                    );

在此示例中,您将看到三个日期字段将使用jquery datepicker

这个想法是,当页面首次加载时,输入字段为:保持开始日期和保持结束日期将为:不显示或禁用。

如果选择“保持直到候选人可用”,则激活/可见两个保持开始日期和保持结束日期。如果选择“保持到可用位置”,则“仅保持开始日期”处于活动/可见状态。

我找到了一个可行的脚本,但是当我在我的页面上尝试它时,它无效。

TIA

2 个答案:

答案 0 :(得分:2)

  

我找到了一个可行的脚本但是当我在我的页面上尝试它时却没有   工作

如果脚本正在使用jsFiddle,而不是在您的网站上,则可能需要检查以下内容。

  1. 如果成功添加了jQuery。
  2. 您已将代码放入document.ready function。
  3. * 编辑:* 基于OP的评论

    在更改事件中,您使用val()将值与您应该与值而不是文本进行比较的文本进行比较。

    更改

    if(selected_item == "On Hold until Candidate Available"){
    

    if(selected_item == "3"){
    

答案 1 :(得分:1)

我刚看了一下脚本,你想要改变一些事情。

1)而不是显示:css中的none更改为visibility:hidden 2)当javascript返回selected_item时,它返回下拉列表的值而不是文本,因此您要检查是否(se​​lected_item ==“3”)或您需要的任何数字。

这应该解决问题。