каждый цикл в coffeescript, jquery - PullRequest
4 голосов
/ 20 октября 2011

Я новичок в javascript и начинаю смешивать javascript + jquery + coffeescript вместе для новичка, как я, нелегко ...

Я создал очень простой сортируемый список, и я хотел бы изменить его список на лету (код на стороне сервера в порядке).

Код кофейного кода, который я написал:

jQuery ->
  $('.simple_grid tbody').sortable
    axis: 'y'
    containment: 'parent'
    cursor: 'move'
    tolerance: 'pointer'
    update: (event,ui)->
      $.post($(this).attr('dataupdateurl') + '/' + ui.item.attr('id') + '/reorder/' + ui.item.index())
      $('tr > td > a > span.number').each (i, element)  =>
      $(element).html i

Создает таблицу такого типа

<table class= "simple-grid">
   <tbody dataupdateurl = "xxx">
      <tr>
         <td>
            <a href="some_link"><span class="number">1</span>text 1</a>
         </td>
          <td>
            <a href="some_link"><span class="number">2</span>text 2</a>
         </td>
        <td>
            <a href="some_link"><span class="number">3</span>text 3</a>
         </td>
      </tr>
   </tbody>
</table>

Я пытаюсь перенумеровать то, что находится внутри элементов span.number, когда срабатывает обратный вызов обновления, но я получаю следующее сообщение об ошибке:

элемент не определен

Любая помощь будет приветствоваться! Спасибо!

ОБНОВЛЕНИЕ: проблема была в том, что я пропустил отступ в последней функции:

$('span.number').each (i, element)  =>
      $(element).html i

1 Ответ

4 голосов
/ 20 октября 2011

Я не знаю сценарий кофе, но, как правило, использование селектора jQuery не требует полного пути.Например, $('tr > td > a > span.number') может быть переписано как $('.number'), также .each () обычно используется как .each(function(index, element) { YOUR CODE });.Последнее, что выглядит неуместно, это установка html, это обычно делается как .html('value').Так что в вашем случае $(element).html(i);.Надеюсь, это поможет?

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