Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Jquery создание элементов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: бага с callback
biperch
Отправлено: 27 Сентября, 2013 - 21:21:35
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




Добрый день, в цикле создаю две кнопки в конструкторе модального окна
Проблема в том что обработчик callback второй кнопки применяется одновременно к обеим кнопкам!
бьюсь головой о стену.......

собственно вызов
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. modal_generate( 'modal_incoming_call',
  3.                     'Входящий звонок',
  4.                     'Вам поступил звонок от пользователю №'+data.senderID,
  5.                     [{class   :'btn btn-primary',
  6.                       name: 'Ответить',
  7.                                   callback : function(m){
  8.                                               alert('ssss');
  9.                                               call_api.answer_an_incoming_call(data);
  10.                                               m.modal('hide');
  11.                                   }
  12.                                  },
  13.                      {class   :'btn',
  14.                          name: 'Отказать',
  15.                                   callback : function(m){
  16.                                               m.modal('hide');
  17.                                               alert('mmmmmm');
  18.                                   }
  19.                                  }
  20.                                          
  21.                     ]
  22.                   );
  23.  



реализация функции в которой калбеки которые каждый прописал для своей кнопки, последний применяется к обеим.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function modal_generate(id, header, body, buttons) {
  3.     var modal,
  4.         doc_body = $('body');
  5.     if ($('#'+id).length === 0){
  6.         modal = $('<div></div>')
  7.                 .addClass('modal')
  8.                 .attr({
  9.                     id: id,
  10.                     tabindex: "-1",
  11.                     role: "dialog",
  12.                     'aria-labelledby': "myModalLabel",
  13.                     'aria-hidden': "true"
  14.                 });
  15.     }else{
  16.         modal = $('#'+id);
  17.         modal.empty();
  18.     }
  19.     var header = $('<div class="modal-header">\
  20.                        <h3 id="myModalLabel">' + header + '</h3>\
  21.                    </div>');
  22.     var body = $('<div class="modal-body">' + body + '</div>');
  23.  
  24.     var footer = $('<div class="modal-footer"></div>');
  25.    
  26.     console.log(buttons);
  27.     for (var i=0; i<buttons.length; i++) {
  28.         var bo = buttons[i];
  29.        
  30.         $('<button/>').addClass(bo.class)
  31.             .html(bo.name)
  32.             .on('click', function(){bo.callback(modal, $(this));})
  33.             .appendTo(footer);
  34.     }
  35.    
  36.  
  37.     modal.append(header, body, footer)
  38.          .appendTo(doc_body)
  39.          .modal('show');
  40.     return modal;
  41. }
  42.  
 
 Top
biperch
Отправлено: 28 Сентября, 2013 - 14:16:23
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




Все решено
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB