Изменение состояния открытия переключателя jquery в зависимости от данных MySQL - PullRequest
1 голос
/ 16 августа 2011

У меня есть переключатель Jquery, который содержит форму ввода в таблицу MySQL.

Прямо под этим переключателем я отображаю данные в списке.

То, что я хотел бы сделать, это сделать так, чтобы тумблер находился в открытом состоянии (удаление «display: none»), если в таблице нет записей. И, конечно, быть закрытым, если таблица содержит записи.

Чтобы усложнить ситуацию, моя таблица жестко отфильтрована для вошедшего в систему пользователя, поэтому я бы хотел, чтобы тумблер по умолчанию переводился в открытое состояние, если в таблице нет записей, соответствующих вошедшему в систему пользователю.

Надеюсь, это имеет смысл!

Мои знания PHP в лучшем случае плохие, поэтому, пожалуйста, будьте осторожны со мной.

Вот мой код переключения: -

(function($) { $.fn.simpleToggle = function(opts) {
    var options = $.extend({}, $.fn.simpleToggle.defaults, opts);

    return this.each(function() {
        $title = $(this).children('.togTitle');
        $title.each(function() {
            $(this).click( function() {
                $item = $(this);
                $item.next('.togDesc').slideToggle('fast', function() {
                    $icon = $item.children('.iconSymbol');
                    if ($(this).css('display') == 'block') {
                        $icon.removeClass('plus').addClass('minus');
                    } else {
                        $icon.removeClass('minus').addClass('plus');
                    }
                });
            });
        });
    });

}
$.fn.simpleToggle.defaults = {}
})(jQuery);

1 Ответ

0 голосов
/ 19 августа 2011

довольно трудно представить себе дом.

Однако, что-то вроде этого может помочь:

(function($) { $.fn.simpleToggle = function(opts) {
    var options = $.extend({}, $.fn.simpleToggle.defaults, opts);

    return this.each(function() {
        $title = $(this).children('.togTitle');
        $title.each(function() {
            $('.togDesc', this).each( function () {
                if ( $(this).children('.iconSymbol').length == 0 ) {    
                    $(this).show();                                 
                }
            });
            $(this).click( function() {
                $item = $(this);
                $item.next('.togDesc').slideToggle('fast', function() {
                    $icon = $item.children('.iconSymbol');
                    if ($(this).css('display') == 'block') {
                        $icon.removeClass('plus').addClass('minus');
                    } else {
                        $icon.removeClass('minus').addClass('plus');
                    }
                });
            });
        });
    });

}
$.fn.simpleToggle.defaults = {}
})(jQuery);
...