用于隐藏/取消隐藏div的Jquery函数无法正常工作

时间:2015-01-28 21:20:42

标签: jquery asp.net visual-studio

我有两种形式。 signin/signuphospital/doctor查找器。两者都是平面UI形式

第一个表单包含3个链接

  • 登录
  • 注册
  • 重置密码

问题是,当我点击上述链接之一时,下面列出的医院/医生查找表格变成空白,反之亦然。

这里是用于隐藏/取消隐藏表单内部div的jquery函数。功能是明确的,但我无法弄清楚它为什么不起作用。

$(function () {
    // constants
    var SHOW_CLASS = 'show',
        HIDE_CLASS = 'hide',
        ACTIVE_CLASS = 'active';

    $('#tabs1').on('click', 'li a', function (e) {
        e.preventDefault();
        var $tab = $(this),
             href = $tab.attr('href');

        $('.active').removeClass(ACTIVE_CLASS);
        $tab.addClass(ACTIVE_CLASS);

        $('.show')
           .removeClass(SHOW_CLASS)
           .addClass(HIDE_CLASS)
           .hide();

        $(href)
          .removeClass(HIDE_CLASS)
          .addClass(SHOW_CLASS)
          .hide()
        .fadeIn(550);
    });
});

$(function () {
    // constants
    var SHOW_CLASS = 'show',
        HIDE_CLASS = 'hide',
        ACTIVE_CLASS = 'active';

    $('#tabs2').on('click', 'li a', function (e) {
        e.preventDefault();
        var $tab = $(this),
             href = $tab.attr('href');

        $('.active').removeClass(ACTIVE_CLASS);
        $tab.addClass(ACTIVE_CLASS);

        $('.show')
           .removeClass(SHOW_CLASS)
           .addClass(HIDE_CLASS)
           .hide();

        $(href)
          .removeClass(HIDE_CLASS)
          .addClass(SHOW_CLASS)
          .hide()
        .fadeIn(550);
    });
});

2 个答案:

答案 0 :(得分:1)

当您引用$('.active')$('.show')时,您可以访问每个实例,而不管是什么"标签"他们在。没有看到HTML,我无法确定,但您可以过滤到特定的"标签"像这样:

 $tab.find('.show')
       .removeClass(SHOW_CLASS)
       .addClass(HIDE_CLASS)
       .hide();

答案 1 :(得分:0)

您定位所有有效课程,您必须使用this ,或者更具体地选择您的课程