Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   ui dialog, help (https://javascript.ru/forum/jquery/30835-ui-dialog-help.html)

lolka84 17.08.2012 17:33

ui dialog, help
 
Всем привет.
$(function(){

		// Dialog
		$('#dialog').dialog({
			autoOpen: false,
			width: 600,
		});

		// Dialog Link
		$('#dialog_link').click(function(){
			$('#dialog').dialog('open');
			return false;
		});

		//hover states on the static widgets
		$('#dialog_link, ul#icons li').hover(
			function() { $(this).addClass('ui-state-hover'); },
			function() { $(this).removeClass('ui-state-hover'); }
		);

	});

<p><a href="#" id="dialog_link">Open Dialog</a></p>
    <div id="dialog" class="myDialog">
    
        <p>Тут уже основной контент будет</p><script>alert("test");</script>
        
    </div>


Почему alert срабатывает 2 раза?? :help: :blink:
Вживую - http://mytavatuy.ru/dialog/main.html

Deff 18.08.2012 00:05

Не заметил!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<title>рол</title>
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
$(function(){

		// Dialog
		$('#dialog').dialog({
			autoOpen: false,
			width: 600,
		});

		// Dialog Link
		$('#dialog_link').click(function(){
			$('#dialog').dialog('open');
			return false;
		});

		//hover states on the static widgets
		$('#dialog_link, ul#icons li').hover(
			function() { $(this).addClass('ui-state-hover'); },
			function() { $(this).removeClass('ui-state-hover'); }
		);

	});
</script>

<p><a href="#" id="dialog_link">Open Dialog</a></p>
    <div id="dialog" class="myDialog">
    
        <p>Тут уже основной контент будет</p><script>alert("test");</script>
        
</div>


</body>
</html>

Первый Раз срабатывает чисто при загрузке

lolka84 18.08.2012 11:03

Ну это здесь в форме форума оно почему-то один раз срабатывает, у себя страничку сделайте и проверьте :)

Собсно интересует, как сделать, что б оно работало только один раз, как и положено.

lolka84 18.08.2012 14:46

Эту проблему решил, возникла другая.

<div id="dialog" class="myDialog">
    
        <p>Тут уже основной контент будет</p>
        <input type="checkbox" name="name" value="0">
        <script>
        $("input").click(function(e) {
	  
			if (confirm("Подтверждаете удаление?")) {
				
				return false;
				
			}
			
			else {
				
				$(this).removeAttr("checked","checked");
				
			}
		
		});
		</script>
    </div>


Объясните дураку, почему confirm то 2 раза срабатывает???!:-E :-E :-E
Вынести в <head> желательно не предлагать, хотелось бы, что б работало именно в теле окна.

Вживую опять же по ссылке http://mytavatuy.ru/dialog/main.html

zebra 18.08.2012 20:07

Оберните в функцию, и вызовете после dialog open

lolka84 22.08.2012 11:20

Вынужден апнуть тему, ибо проблема.

Вешаю на клик по кнопке ajax запрос - он выполняется 2 раза, следовательно и данные заносятся в БД тоже 2 раза :help: Что делать то с этим ??

Deff 22.08.2012 11:34

lolka84,
Попробуйте - так
<div id="dialog" class="myDialog">
    
        <p>Тут уже основной контент будет</p>
        <input type="checkbox" name="name" value="0">
        <script>
        $("input").unbind('click');
        $("input").one('click',function() {
	  
			if (confirm("Подтверждаете удаление?")) {
				
				return false;
				
			}
			
			else {
				
				$(this).removeAttr("checked","checked");
				
			}
		
		});
		</script>
    </div>

lolka84 22.08.2012 11:48

unbind помог как не странно, чойто сам не догадался, спасибо! :)


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