Наследовать код jquery при загрузке с помощью ajax - PullRequest
0 голосов
/ 19 января 2011

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

1 Ответ

0 голосов
/ 19 января 2011

Как только новые флажки будут загружены, вам нужно будет активировать код jQuery для стилизации этих флажков (и только новых).Не видя ваш код или разметку, невозможно дать вам прямой ответ, но, например, предположим, что ваш код jQuery добавляет класс к флажкам (предположительно, как часть, а не все, что он делает; в противном случае вы просто используете CSS).для укладки).Тогда у вас просто будет этот код, и вы обязательно уберете эти флажки:

var cbsToStyle = $(":checkbox:not(.foo)");

... и затем создадите список cbsToStyle.

Пример (живая копия) :

HTML (очевидно, не такой, как у вас, но ориентировочный):

<div id='container'>
  <label><input type='checkbox'>Original checkbox</label>
  <br><label><input type='checkbox'>Original checkbox</label>
  <br><label><input type='checkbox'>Original checkbox</label>
</div>

JavaScript с использованием jQuery:

jQuery(function($) {
  var timer = 0,
      counter = 4;

  styleCheckboxes();
  timer = setInterval(loadCheckboxes, 1000);

  function loadCheckboxes() {
    var index;

    if (--counter < 0) {
      // Done
      cancelInterval(timer);
      timer = 0;
    }
    else {
      // Mimic adding three checkboxes
      for (index = 0; index < 3; ++index) {
        $("<br><label><input type='checkbox'>Another checkbox</label>").appendTo('#container');
      }

      // Re-trigger the styling code
      styleCheckboxes();
    }
  }

  function styleCheckboxes() {
    // Get only those we haven't styled before and style them.
    // Note that the class is used as a marker (you might _also_
    // use it to apply some style rules)
    $(":checkbox:not(.styled)").addClass("styled").css("width", "40px");
  }

});​

... гдеstyleCheckboxes - самый важный бит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...