Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> правильность кода, как организован и написан 
:(
    Опции темы
VanHelsing
Дата 10.6.2013, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ХОЧУ ВСЕ ЗНАТЬ!!!
**
Награды: 1



Профиль
Группа: Участник
Сообщений: 288
Регистрация: 3.1.2008
Где: Екатеринбург

Репутация: нет
Всего: 6



Здравствуйте. Прошу оценить небольшой кусочек кода. Возможно я не правильно его организовал или реализовать функции более сложными способами.
Код

$(document).ready(function() {
   
   var idDriver = 1;
   $('#modalAddDriver').hide();
   
   $('#addDriver').click(function(){
       //обработчик кнопки Добавить, вызываем окно, содержащее
       //форму для добавления нового водителя
      $('#addNewDriver').html('Добавить'); 
   });
   
   $('#editDriver').click(function(){
       /* Обработчик нажатия кнопки Редактировать
        * При нажатии происходит посик первого выбранного checkbox в таблице
        * данными из этой строки заполняются поля формы добавления нового водителя
        */
       var ch = []; 
       var i;
       var $par1;
       $('#tableDriver input[type=checkbox]:checked').each(function() {                    
          ch[i] = this.name;
          var par = $(this).parent();
          $par1 = $(par).parent();          
          i = i + 1;
       });
       //выбираем данные из найденой строки
       $td = $par1.find('td');
       idDriver = $td[0].innerHTML;
       $('#name').val($td[1].innerHTML);
       $('#fam').val($td[2].innerHTML);
       $('#tele').val($td[3].innerHTML);
       $('#age').val($td[4].innerHTML);
       $('#status').val($td[5].innerHTML);       
       $('#model').val($td[6].innerHTML);
       $('#addNewDriver').html('Редактировать');       
       $('#modalAddDriver').show();
   });
   
   $('#delDriver').click(function() {
       var ch = [];
       var i = 0;
       $('#tableDriver input[type=checkbox]:checked').each(function() {                    
          ch[i] = this.name;
          i = i + 1;
       });      
      $.post('ajax/delDriver.php', {check:ch});
      location.reload();
   });
   
   $('#addNewDriver').click(function(){       
       //обработчик нажатия кнопки на форме добавления информации о новом водителе
       if ($('#addNewDriver').html() == 'Добавить') {
          $.post('ajax/addDriver.php', {name: $('#name').val(), famili: $('#fam').val(), 
              tele: $('#tele').val(), age: $('#age').val(), state: $('#status').val(),
              model: $('#model').val()});
      }
      else {
          $.post('ajax/addDriver.php', {id: idDriver, name: $('#name').val(), famili: $('#fam').val(), 
              tele: $('#tele').val(), age: $('#age').val(), state: $('#status').val(),
              model: $('#model').val()});
      }       
   });
});

Так есть небольшой вопрос. На странице есть таблица с checkbox-ми и когда я нажимаю на кнопку редактировать у меня выполняется следующий код
Код

       $('#tableDriver input[type=checkbox]:checked').each(function() {                    
          ch[i] = this.name;
          var par = $(this).parent();
          $par1 = $(par).parent();          
          i = i + 1;
       });

Он пробегает по всем выделенным check, а мне хотелось бы, чтобы он находил первый выделенный и останавливал перебор.


--------------------
PM MAIL   Вверх
CruorVult
Дата 10.6.2013, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 3
Всего: 28



Код

$('#tableDriver input[type=checkbox]:checked').first()


?
PM MAIL Skype   Вверх
VanHelsing
Дата 18.6.2013, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ХОЧУ ВСЕ ЗНАТЬ!!!
**
Награды: 1



Профиль
Группа: Участник
Сообщений: 288
Регистрация: 3.1.2008
Где: Екатеринбург

Репутация: нет
Всего: 6



Посмотрев на представленный ниже кода - мне сказали, что способ "навешивания" событий устаревший и неправильный. Хотелось бы знать как повысить уровень данного когда. Расскажите пожалуйста хотя бы в общих чертах, что сделано неверно.
Код

$(document).ready(function() {
   
   var idDriver = 1;
   $('#modalAddDriver').hide();
   
   $('.state').change(function(){
      //смена статуса состояния у водителя 
      var idStatus = $(this).attr('id'); //определяем идентификатор записи     
      if (typeof idStatus !=="undefined"){
        $.post('ajax/editStatus.php',{id: idStatus, state: $('#status').val()});
      }            
   });
   
   $('#addDriver').click(function(){
       //обработчик кнопки Добавить, вызываем окно, содержащее
       //форму для добавления нового водителя
      $('#addNewDriver').html('Добавить'); 
   });
   
   $('#editDriver').click(function(){
       /* Обработчик нажатия кнопки Редактировать
        * При нажатии происходит посик первого выбранного checkbox в таблице
        * данными из этой строки заполняются поля формы добавления нового водителя
        */
       //Выбираем первый выбранный checkbox
       var $input = $('#tableDriver input[type=checkbox]:checked:first');
       var $row = $input.parents('tr');    
       //выбираем данные из найденой строки
       $td = $row.find('td'); //массив ячеек строки
       idDriver = $td[0].innerHTML;
       $('#name').val($td[1].innerHTML);
       $('#fam').val($td[2].innerHTML);
       $('#tele').val($td[3].innerHTML);
       $('#age').val($td[4].innerHTML);
       $('#status').val($td[5].innerHTML);       
       $('#model').val($td[6].innerHTML);
       $('#addNewDriver').html('Редактировать');       
       $('#modalAddDriver').show();
   });
   
   $('#delDriver').click(function() {
       var ch = [];
       var i = 0;
       $('#tableDriver input[type=checkbox]:checked').each(function() {                    
          ch[i] = this.name;
          i = i + 1;
       });      
      $.post('ajax/delDriver.php', {check:ch});
      location.reload();
   });
   
   $('#addNewDriver').click(function(){       
       //обработчик нажатия кнопки на форме добавления информации о новом водителе
       if ($('#addNewDriver').html() == 'Добавить') {
          $.post('ajax/addDriver.php', {name: $('#name').val(), famili: $('#fam').val(), 
              tele: $('#tele').val(), age: $('#age').val(), state: $('#status').val(),
              model: $('#model').val()});
      }
      else {
          $.post('ajax/addDriver.php', {id: idDriver, name: $('#name').val(), famili: $('#fam').val(), 
              tele: $('#tele').val(), age: $('#age').val(), state: $('#status').val(),
              model: $('#model').val()});
      } 
      location.reload();
   });
});




--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0853 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.