Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.12.2012, 11:44
Аспирант
Отправить личное сообщение для Le-mark43 Посмотреть профиль Найти все сообщения от Le-mark43
 
Регистрация: 08.02.2012
Сообщений: 34

Помогите с fancyBox
Всем привет. Ребят, нужна помощь в просветлении, помогите его достичь!
Итак, суть:
есть выборный список такого вида:
<select>
<option class='opt' value='1'>1</option>
<option class='opt' value='2'>2</option>
<option class='other' value='0' >Другое</option>
</select>


по клику на выбор "другое" должен срабатывать fancyBox с формой для ввода данных. (форма ввода, php обработчик - все есть)
и вот тут то блин трабла...
я никак не могу повесить fancybox на select.
опцию скормить получается, да только бестолку:
$('.other').fancybox();

один из необходимых артибутов для работы fancybox является "HREF".
а ссылку в select не впихнешь (у меня не получилось), браузер её просто не видит.
я пробовал вставить атрибут HREF в тег <option>,
<option class='other' value='0' href='form.html' >Другое</option>

браузер видит, но fancybox на него никак не реагирует.
то есть функция срабатывает, дивы создаются, экран темнеет, но вот дальше НИЧЕГО... (я так понимаю не ловит Href)

а теперь вопрос, точнее просьба:
пожалуйста помогите решить эту задачу.
наверняка есть какой то более простой способ.
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 19.12.2012, 13:41
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

$('.other').live('click', function(){
$.fancybox('test.php',{
          onComplete : function(){

          }
      });
})
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2012, 16:25
Аспирант
Отправить личное сообщение для Le-mark43 Посмотреть профиль Найти все сообщения от Le-mark43
 
Регистрация: 08.02.2012
Сообщений: 34

не работает. ошибка unexpected token
делаю вот так:
$('.other').live('click', function(){
$.fancybox('form.html',{
          onComplete : function(){
  "padding" : 20, 
      "imageScale" : false, 
      "zoomOpacity" : false, 
      "zoomSpeedIn" : 1000,	
      "zoomSpeedOut" : 1000,	
      "zoomSpeedChange" : 1000, 
      "frameWidth" : 700,	 
      "frameHeight" : 600, 
      "overlayShow" : true, 
      "overlayOpacity" : 0.8,	 
      "hideOnContentClick" : false, 
      "centerOnScroll" : false 

          }
      });
})


если делать:
onComplete : function(){
 $(".other").fancybox(
{ 
... бла бла (вышеперечисленные настройки)
});
          }

ошибки нет, но и вообще ничего не происходит.
где я не прав? и как правильно?
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2012, 16:47
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

блин улыбнуло))))

а зачем вы сунули свойства fancyboxa в функцию onComplete ??
запихайте все эти свойства туда же где и сво-во onComplete находится, а onComplete можете вообще не писать, в onComplete можно задать функцию которая будет вызваться после успешного октрывания окна fancybox
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2012, 16:50
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

Сообщение от Le-mark43
если делать:
1 onComplete : function(){
2 $(".other").fancybox(
3 {
4 ... бла бла (вышеперечисленные настройки)
5 });
6 }

ошибки нет, но и вообще ничего не происходит.
где я не прав? и как правильно?

ничего не происходит потому что, надо задать url 1-ым параметром какой файл нужно открыть в окошке fancybox, url допустим index.html и все что будет у вас в index.html отобразится в окошке fancybox
Ответить с цитированием
  #6 (permalink)  
Старый 19.12.2012, 17:34
Аспирант
Отправить личное сообщение для Le-mark43 Посмотреть профиль Найти все сообщения от Le-mark43
 
Регистрация: 08.02.2012
Сообщений: 34

Сорри, стормозил, хотя возможно тормозить продолжаю...
$('.other').live('click', function(){
$.fancybox('form.html',{
          
      "padding" : 20,
      "imageScale" : false,
      ...
 
      });
})

не срабатывает!
если делаю:
$.fancybox(function(){
       "url" : 'form.html',   
      "padding" : 20,
      "imageScale" : false,
      ...
 
      });

- unexpected token...
тоже самое если:
$(".other").fancybox(
{
      "url" : 'form.html',   
      "padding" : 20,
      "imageScale" : false,
      ...
 
      });

Последний раз редактировалось Le-mark43, 19.12.2012 в 17:37.
Ответить с цитированием
  #7 (permalink)  
Старый 20.12.2012, 08:08
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

попробуйте просто без всяких нюшек

$('.other').live('click', function(){
$.fancybox('test.html',{
          onComplete : function(){
alert('fancybox открылся!')
          }
      });
})
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
fancybox и AJAX alzasr jQuery 4 19.01.2014 22:45
fancybox на кнопке, которая подгружается засчет $.load Olesya Общие вопросы Javascript 0 16.08.2012 17:27
Вставка ссылки в титлы jquery fancybox lovezoom jQuery 0 22.08.2011 22:36
Проблемы с Fancybox и ajax-контентом Viper jQuery 1 24.03.2011 23:42
Fancybox 1.2 и доп. скрипт Nevil jQuery 3 20.01.2011 12:37