Показать сообщение отдельно
  #1 (permalink)  
Старый 22.07.2011, 19:46
Аватар для antserg
Аспирант
Отправить личное сообщение для antserg Посмотреть профиль Найти все сообщения от antserg
 
Регистрация: 14.05.2011
Сообщений: 61

Работа с delegate
Помогите разобраться с тем, как работает delegate. Есть пять инпутов. Все пустые инпуты (value=="") прячем, кроме одного. При клике на последний инпут появляется (show) новый. И так далее.

<html>
  <head>
    <script src="jquery-1.6.2.min.js" type="text/javascript"></script>
  </head>
  <body>
    <form action="" method="">
      <p><input class="autocomplete" type="text" name="" value=""/><img src="minus.png" alt=""/></p>
      <p><input class="autocomplete" type="text" name="" value=""/><img src="minus.png" alt=""/></p>
      <p><input class="autocomplete" type="text" name="" value=""/><img src="minus.png" alt=""/></p>
      <p><input class="autocomplete" type="text" name="" value=""/><img src="minus.png" alt=""/></p>
      <p><input class="autocomplete" type="text" name="" value=""/><img src="minus.png" alt=""/></p>
    </form>
    <script>
      // ниже
    </script>
  </body>
</html>


То что в теге <script>:
$('.autocomplete:text[value=""]').parent().hide();
if ($('.autocomplete:visible').parent().size()==0) {
  $('.autocomplete:last').parent().show();
  $('.autocomplete:last').next().attr('src', 'plus.png');
}
$plusImg=$('.autocomplete:visible:last');
$plusImg.css('border', '1px #f00 solid');
$plusImg.delegate('', 'click', function(){
  $plusImg.attr('src', 'minus.png');
  $('.autocomplete:hide:last').parent().show();
});


Вот ссылка, где все это не работает (а точнее не появляется новый инпут):
Ссылка

Подскажите, пожалуйста, где ошибка.
Ответить с цитированием