Данные Переключить текст в обоих направлениях

0

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

Вот мой jsfiddle: http://jsfiddle.net/Manna/3Ndcg/1/

<div class ="scorer_filter">
 <a href="#" class="hide_full_list" data-less="Show Less" data-more="Show More" data-table-id="32301" id="toggle">Show More</a>
</div>

  $(function() {
  $(".scorer_filter").on("click", ".hide_full_list", function(){
  var txt = "Show More" ? $('#toggle').data("less") : $('#toggle').data("more");
  $('#toggle').text(txt);
});

});

Теги:
toggle
jsfiddle
jquery-data

3 ответа

0
Лучший ответ

Вы не тестируете переменную txt в своем коде. Вы должны были сделать:

var txt = $('#toggle').text();
txt = (txt == "Show More") ? $('#toggle').data("less") : $('#toggle').data("more");

http://jsfiddle.net/3Ndcg/2/

1

var txt = "Show More"? $('#toggle').data("less"): $('#toggle').data("more");

он всегда будет помещать "Показать больше" в txt. Попробуйте что-то вроде этого:

   $(function() {
        $(".scorer_filter").on("click", ".hide_full_list", function(){
            if ($('#toggle').data("less")) {
                $('#toggle').data("less",false).text("Show less");
            } else {
                $('#toggle').data("less",true).text("Show more");
            }
        });
    });
1

Здесь вы идете:

  $(function() {
    $(".scorer_filter").on("click", ".hide_full_list", function(){
      var txt = $(this).text() == "Show More" ? $(this).data("less") : $(this).data("more");
      $(this).text(txt);
    });
  });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню