Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает модальное окно в подгружаемой вкладке. (https://javascript.ru/forum/jquery/30912-ne-rabotaet-modalnoe-okno-v-podgruzhaemojj-vkladke.html)

Deff 20.08.2012 23:54

Цитата:

Сообщение от Arey
В смысле есть ли еще на странице элементы с таким же id? Если это имелось ввиду то нет, id не повторяются...

Ок

Arey 20.08.2012 23:58

Цитата:

Сообщение от Deff (Сообщение 199207)
$(function(){
  $("#dialog_new_position").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая позиция'
  });
  $("#open_dialog_new_position").on('click',function(){
    $("#dialog_new_position").dialog("open");
  });
  $("#close_dialog_new_position").on('click',function(){
    $("#dialog_new_position").dialog("close");
  });
});

Увы не работает, как минимум не срабатывает первый кусок не прячет div с id=dialog_new_position

Deff 21.08.2012 00:04

Arey,
Инет ссыль живая - есть ?

Arey 21.08.2012 14:31

Нет, но постараюсь до вечера слепить страничку и выкинуть куда-нибудь

Arey 24.08.2012 23:38

Извиняюсь что долго молчал, что-то работай завалило... по ссылке ниже тестовая страница, на первой вкладке подгружаемая страница, форма сверху не прячется, на второй так как должно работать (надо нажать на значок рядом с надписью "Партия")...
http://bt-sale.ru/test/index.html
Это один и тот же кусок, только первая вкладка подгружается из lot_list.html, а вторая находиться в index.html

Deff 25.08.2012 00:33

Arey,
1. Замените Контент Подгружаемого Скриптa:
<script type="text/javascript" src="supply.js"></script>

//формирует вкладки
$("#tabs").tabs({
  ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    }
  }
});

/*
//формирует вкладки
$("#tabs1").tabs({
    ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    });
  }
});

*/


//показывает форму "Новая партия"
$(function(){
  $("#dialog_new_lot").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая партия'
  });
  $("#open_dialog_new_lot").click(function(){
    $("#dialog_new_lot").dialog("open");
  });
  $("#close_dialog_new_lot").click(function(){
    $("#dialog_new_lot").dialog("close");
  });
});





//показывает форму "Новая партия"
$(function(){
  $("#dialog_new_lot1").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая партия'
  });

  $("#open_dialog_new_lot1").click(function(){
    $("#dialog_new_lot1").dialog("open");
  });
  $("#close_dialog_new_lot1").click(function(){
    $("#dialog_new_lot1").dialog("close");
  });

});

Deff 25.08.2012 00:54

Arey,
C этими двумя фишками - что-то напудрено:
//формирует вкладки
$("#tabs").tabs({
  ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    }
  }
});

/*
//формирует вкладки
$("#tabs1").tabs({
    ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    });
  }
});

Не наю таких методов
Есть вроде

Цитата:

$("#tabs1").tabs("load",index)
Обновляет содержимое вкладки, идущей под номером index (имеются ввиду вкладки, содержимое которых подгружается с помощью ajax). Нумерация вкладок начинается с 0.

Arey 25.08.2012 09:32

Цитата:

Сообщение от Deff
1. Замените Контент Подгружаемого Скриптa:

Заменил, ничего не изменилось...
Цитата:

Сообщение от Deff
C этими двумя фишками - что-то напудрено:
//формирует вкладки
$("#tabs").tabs({
  ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    }
  }
});
 
/*
//формирует вкладки
$("#tabs1").tabs({
    ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    });
  }
});

Не наю таких методов
Есть вроде

Цитата:
$("#tabs1").tabs("load",index)
Обновляет содержимое вкладки, идущей под номером index (имеются ввиду вкладки, содержимое которых подгружается с помощью ajax). Нумерация вкладок начинается с 0.

Все описано тут
http://jquery.page2page.ru/index.php...D0%BA%D0%B8_UI
Вроде все работает, ajaxOptions во вкладке "свойства" сам кусок кода взят от туда же если нажать на надпись "Ajax" рядом с примером, а потом на ссылку "показать исходный код" над примером то там все можно увидеть...
Сильно подозреваю что в подгружаемой вкладке не работает или Jquery или Jquiey UI, а может и то и другое...

Deff 25.08.2012 09:46

<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<link rel="SHORTCUT ICON" href="http://www.bt-sale.ru/favicon.ico">
<link href="http://bt-sale.ru/test/style_tdt.css" media="screen" rel="stylesheet" type="text/css">
<link type="text/css" href="http://bt-sale.ru/test/jquery-ui-1.8.23.custom.css" rel="stylesheet">	<script type="text/javascript" src="http://bt-sale.ru/test/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="http://bt-sale.ru/test/jquery-ui-1.8.23.custom.min.js"></script>
</head>
<body>
<div class="main">
<div id="tabs">
<ul>
<li><a href="lot_list.html">Партии</a></li>
<li><a href="#tabs-1">Партии</a></li>
</ul>
<div id="tabs-1">
<div id="dialog_new_lot1">
<form method="POST" action="#">
<input name="form_id" type="hidden" value="add_lot">
Партия: <input name="lot" type="text" size="15" value=""><br> Дата: <input name="supply_date" type="text" size="15" value="" class="datepicker"> <br>
Номер накладной: <input name="incoming" type="text" size="15" value=""><br>
Дата: <input name="incoming_date" type="text" size="15" value="" class="datepicker"> <br>
Продавец: <select size="1" name="distributor"> <option selected="" value="0"></option>
<option value="1">ООО</option> <option value="2">ООО2</option> </select>
Покупатель: <select size="1" name="firm"> <option selected="" value="0"></option>
<option value="1">ИП</option> <option value="2">ООО</option> </select> <br>
<p><input type="submit" value="Добавить"> <input type="reset" value="Очистить"></p> </form>
</div>
<table border="1" width="100%">
<tbody><tr align="center">
<td colspan="2"><b>Партия</b> <a id="open_dialog_new_lot1" name="#"><img align="top" src="http://bt-sale.ru/test/document-import.png"></a></td>
<td rowspan="2"><b>Склад</b></td>
<td colspan="2"><b>Накладная</b></td>
<td rowspan="2"><b>Поставщик</b></td>
<td rowspan="2"><b>Покупатель</b></td>
<td colspan="3"><b>Товар</b></td>
</tr>
<tr>
<td><b>Номер</b></td>
<td><b>Дата</b></td>
<td><b>Номер</b></td>
<td><b>Дата</b></td>
<td><b>Количество</b></td>
<td><b>Сумма</b></td>
<td><b>Сумма по себ-сти</b></td>
</tr>
<tr>
<td>Новая1</td>
<td>2012-08-18</td>
<td>Трейлер</td>
<td>Новая1</td>
<td>2012-08-16</td>
<td>ООО</td>
<td>ООО</td>
<td>11</td>
<td>51399.00</td>
<td>52199</td>
</tr>
<tr>
<td>Новая</td>
<td>2012-08-17</td>
<td>Трейлер</td>
<td>Новая</td>
<td>2012-08-17</td>
<td>ООО</td>
<td>ИП</td>
<td>5</td>
<td>17.00</td>
<td>17</td>
</tr>
</tbody></table>
</div>
</div>
</div>
<script type="text/javascript" src="http://bt-sale.ru/test/datepicker_config.js"></script>
<script>
/*//формирует вкладки
$("#tabs").tabs({
  ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    }
  }
});


//формирует вкладки
$("#tabs1").tabs({
    ajaxOptions:{
    error: function( xhr, status, index, anchor ) {
      $( anchor.hash ).html("Содержимое не найдено&nbsp;:(");
    });
  }
});

*/


//показывает форму "Новая партия"
$(function(){
  $("#dialog_new_lot").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая партия'
  });
  $("#open_dialog_new_lot").click(function(){
    $("#dialog_new_lot").dialog("open");
  });
  $("#close_dialog_new_lot").click(function(){
    $("#dialog_new_lot").dialog("close");
  });
});





//показывает форму "Новая партия"
$(function(){
  $("#dialog_new_lot1").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая партия'
  });

  $("#open_dialog_new_lot1").click(function(){
    $("#dialog_new_lot1").dialog("open");
  });
  $("#close_dialog_new_lot1").click(function(){
    $("#dialog_new_lot1").dialog("close");
  });

});


</script>
</div>
</body></html>

Arey 25.08.2012 10:23

Проблема решена, надо было выделить кусок
//показывает форму "Новая партия"
$(function(){
  $("#dialog_new_lot").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая партия'
  });
  $("#open_dialog_new_lot").click(function(){
    $("#dialog_new_lot").dialog("open");
  });
  $("#close_dialog_new_lot").click(function(){
    $("#dialog_new_lot").dialog("close");
  });
  $("#dialog_new_lot").dialog("enable");
});

отдельно и загружать в момент загрузки страницы во вкладку...
http://bt-sale.ru/test/index.html сейчас работает как надо, обе вкладки отображаются одинаково, за одним исключением есть проблема с кодировкой, основная страница в windows-1251, в заголовке модального окна загружаемой вкладки надпись "Новая партия" хрен пойми в какой кодировке, но думаю это решаемо...


Часовой пояс GMT +3, время: 16:20.