【问题标题】:Jquery .Show() .Hide() not working as expectedJquery .Show() .Hide() 没有按预期工作
【发布时间】:2011-01-28 06:15:37
【问题描述】:

我正在尝试使用show和hide在选择某个报告类型时显示不同的选择选项集。我有几个问题: 只有当我在条件语句的第一个结果中传递参数时,.show .hide 才能正确执行,速度慢。如果我在两个结果中取出参数或传递参数,则只有一个选择显示并且它永远不会改变..这是当前有效的代码。

        if ($('#ReportType').val() == 'PbuseExport')
        {
            $('#PbuseServices').show('fast');
            $('#ReportServiceDropdown').hide('fast');
        }
        else
        {
            $('#PbuseServices').hide();
            $('#ReportServiceDropdown').show();
        }

在我使用了这个控件之后,我被带到了一个不同的页面。当我再次使用该控件时,它会重新获取原始搜索值并重新填充该控件。再说一次,如果选择了某个报告,我只想显示一个选择选项。如果我最初搜索的报告类型不是“PbuseExport”,这将正常工作。如果我搜索报告类型“PbuseExport”,则两者都选择在屏幕上显示,并且只有在我更改报告类型之前,它才显示一个选择。我知道这可能不是很清楚.. 下面是处理报表类型下拉菜单上的更改事件的代码。

    var serviceValue = $("#ReportType").val();
    switch (serviceValue)
    {
        case 'PbuseExport':
            $('#PbuseServices').show('fast');
            $('#ReportServiceDropdown').hide('fast');
        default:
            $('#PbuseServices').hide();
            $('#ReportServiceDropdown').show();
            break;
    }

【问题讨论】:

  • 你有没有使用 firebug 单步调试代码,看看是否发生了预期的情况,这确实是一个 JQuery 问题。

标签: jquery select options


【解决方案1】:

在第二段代码中,你还需要在 case 语句之后有一个 break。选择将直接进入默认值。确认中......

是的,您需要休息一下,还可以考虑使用 if 语句而不是 case。

【讨论】:

  • 注意浏览器缓存。
【解决方案2】:

原来我的项目文件已损坏..以及许多其他主要问题..现在我必须重新安装 VS
:|

【讨论】:

  • 是的,我正要建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 2018-03-17
  • 2019-07-13
相关资源
最近更新 更多