Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2013, 13:47
Интересующийся
Отправить личное сообщение для Jopses Посмотреть профиль Найти все сообщения от Jopses
 
Регистрация: 05.02.2013
Сообщений: 20

Не закрывается диалоговое окно
Ещё один вопрос, который не даёт мне покоя.
Есть диалоговое окно, которое формирует в своём теле таблицу с данными о записи (и ссылками на неё) + встроенный календарик для выбора даты записи.

Проблема в следующем: Окно вызывается первый раз, всё корректно отображается и работает. Жму Esc или по крестику -> закрывается. Запускаю вновь (страницу не перегружаю. Если перегрузить, то вновь корректно отработается первое закрытие), пытаюсь закрыть, ноль эмоций. В FireBag отследил, что увеличивается при каждом нажатии z-index. Повесил на диалоговое окно stack, z-index перестал расти, но результат не изменился, окно не закрывается.

Вешал принудительно:

close: function(ev, ui) {
                $('input',this).val('');


Реакции ноль!

В чём проблема, понять не могу. Прямо напасть какая-то.
Если кто сталкивался с подобным или есть предположения, в чём проблема, прошу помочь

Ниже код на само окно. Хотя есть ли смысл в его публикации


function open_history(obj) {
	var alias = $(obj).parents('li').attr('alias');
	  if(($("#history_"+alias).length > 0)) {
	      //$("#history_"+alias).toggle();
	      var tdiv = $("#history_"+alias);
	      $(tdiv).parent().show();
	  } else {
	      var tdiv = $('<div/>',{id: "history_"+alias, class: "history", title: cams[alias].name+" - История записей:"});
	      $(tdiv).dialog({width: 'auto',height: 'auto', stack: false});
	      var datepick = $('<input/>',{id: "dp_"+alias, class: "datepick",value: new Date().toLocaleFormat('%d-%m-%Y')});
	      $(datepick).appendTo(tdiv);
	      $(datepick).datepicker({
		  dateFormat: "dd-mm-yy",
		  showOtherMonths: true,
		  showButtonPanel: true,
		  selectOtherMonths: true,
		  showOn: "button",
          
		  buttonImage: cam_control+"/icons/calendar.png",
		  buttonImageOnly: true,
		  onSelect: function(dateText, inst) { request_history(alias,$(datepick).val(), tdiv); }
	      });
	      $(datepick).datepicker($.datepicker.regional[ 'ru' ] );
	      $('<div/>',{id: "hrefresh_"+alias,alias: alias,class: "hrefresh"}).appendTo(tdiv);
	      $("#hrefresh_"+alias).click(function() {
		  if(undefined != $("#thistory_"+alias)) {$("#thistory_"+alias).remove();}
		  //replaceWith(Загрузка)
		  request_history(alias,$(datepick).val(), tdiv);
		  //(Загрузка).remove()
		  //show_history(tdiv,alias,$(datepick).val());
	      });
	      request_history(alias,$(datepick).val(), tdiv);
	  }
	  //show_history(tdiv,alias,$(datepick).val());
    }
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2013, 13:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Jopses
В чём проблема, понять не могу.
Начнём с работающего тестового примера...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
#box {
	position: fixed;
	top: 100px;
	left: 100px;
	width: 200px;
	min-height: 22px;
	border: 1px solid;
	display: none;
}
#box.on {
	display: block;
}
#box > div {
	margin-right: 22px;
}
#box > button {
	position: absolute;
	top: 1px;
	right: 1px;
	width: 20px;
	height: 20px;
	padding: 0;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('.btn').click(function (){
		$('#box').addClass('on');
	});
	$('#box > button').click(function (){
		$('#box').removeClass('on');
	});
});
</script>
</head>
<body>
<a href='#' class='btn'>Test</a>
<div id='box'>
	<div>Text</div>
	<button>x</button>
</div>
</div>
</body>
</html>


Что именно не работает у тебя?
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2013, 22:01
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Dialog - Default functionality</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>
  $(function() {
     $( "#dialog" ).dialog({
     "autoOpen": false
   });
   $('#open').on('click',function(){
    $( "#dialog" ).dialog('open');
  });
    
  });
  </script>
</head>
<body>
 
<div id="dialog" title="Basic dialog">
  <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
 
<button id="open"> ОТКРЫТЬ</button>
 
</body>
</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #4 (permalink)  
Старый 19.02.2013, 12:52
Интересующийся
Отправить личное сообщение для Jopses Посмотреть профиль Найти все сообщения от Jopses
 
Регистрация: 05.02.2013
Сообщений: 20

При повторном запуске окна, оно ни как не риагирует на закрытие. Проще говоря не закрывается ни какими способами
Ответить с цитированием
  #5 (permalink)  
Старый 19.02.2013, 13:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Jopses, где твой тестовый пример? Мы свои показали - они работают.
Ответить с цитированием
  #6 (permalink)  
Старый 19.02.2013, 13:53
Интересующийся
Отправить личное сообщение для Jopses Посмотреть профиль Найти все сообщения от Jopses
 
Регистрация: 05.02.2013
Сообщений: 20

А Вы юморист) Если бы я смог собрать хотя бы приблизительный пример, основываясь на функциональности этого окна) Но увы и Ах! Просто может кто встречался с подобным и знает как заглушить этот баг не прибегая к переписыванию с нуля)
Ответить с цитированием
  #7 (permalink)  
Старый 19.02.2013, 15:54
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Сам ты юморист )))

плагин как я полагаю из jquery UI.

ты даже непотрудился разобрать мой пример.
Если посмотриш, то я инициализировал плагин один раз.
А затем вызываю его при помощи команды open. Вызываю столько раз, сколько мне потребуется, и без каких либо проблем.

ты же блин ( судя по коду который показал ) пытаешся инициализировать плагин каждый раз, для каждого вызова. Open неиспользуешь совсем.

Неужели разницы невидно.
И это небаг, это неправильное использование плагина.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 19.02.2013 в 15:59.
Ответить с цитированием
  #8 (permalink)  
Старый 19.02.2013, 16:14
Интересующийся
Отправить личное сообщение для Jopses Посмотреть профиль Найти все сообщения от Jopses
 
Регистрация: 05.02.2013
Сообщений: 20

И не надо так ругаться) Спасибо что указали на мою погрешность и опрометчивость. Проанализирую, прикручю, посмотрю что получится
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно создать диалоговое окно Dim@ Общие вопросы Javascript 12 04.02.2016 09:35
Реализация удаления элемента через диалоговое окно Harvey jQuery 9 04.06.2012 11:34
диалоговое окно js Aplik Общие вопросы Javascript 1 16.10.2011 20:21
Диалоговое окно внутри контейнера с overflow:hidden debugx (X)HTML/CSS 1 22.08.2011 13:06
Диалоговое окно в центре экрана. Как в твиттере. IvanZotov jQuery 1 23.06.2011 18:48