Сведения о вопросе

None

21:22, 15th August, 2020

Теги

JavaScript   jQuery    

jQuery UI Dialog, как повесить событие на нажатие ссылки внутри него?

Просмотров: 242   Ответов: 1

Сейчас код выглядит так:


<div id="address-wrapper">

  <a id="address-select" href="#" title="Нажми">Нажми</a>

</div>



<div id="dialog-form" title="Выберите ваш город">	

	<label for="search">Поиск</label>

	<input type="text" name="search" id="search" class="text ui-widget-content ui-corner-all" />

	<input type="button" name="post" id="search-button" value="Поиск" />		

	<br /><br />

	<div id="results"></div>

</div>



<script type="text/javascript">	

	function searchSubmit() {

	$.ajax({ type: "POST", 

		 url: "gni_ajax.asp", 

		 data: "query=" + $("#search").val(),

		 success: function(data){

                                      $("#results").empty();

		      $("#results").append(data);

		      return false;} 

	   });

	};

	

	$('#search').keypress(function(event) {

	    if (event.keyCode == '13') {

		searchSubmit();

	    }		   

	});

	

	$("#search-button").click(function () { searchSubmit(); });

			

	$("#dialog-form").dialog({

		autoOpen: false,

		height: 400,

		width: 400,

		modal: true,

		buttons: {				

			"Отмена": function() {

				$( this ).dialog("close");

			}

		},

		close: function() {

			alert("i'm closing!");

		}

	});



	$("#address-select").click(function() {

		$( "#dialog-form" ).dialog( "open" );

	});

	

	$(".addr").click(function() {

		alert($(this).text());

		alert(this.id);



		$("#dialog-form").dialog("close");

	});

	

</script>



Надо было мне, чтобы при нажатии на одну из ссылок, возвращенных аяксом (разные числовые id и тексты, один класс .addr, ее текст и значения вставлялись в input. Но добиться этого я не смог. Решил хотя бы посмотреть, что выдаст alert. Но он и того не показал, никакой реакции на нажатие нет. Если вешаю событие на нажатие address-select, то все срабатывает хорошо. Но эти ссылки, внутри диалога которые — не работают. Не то, что алерт, но и сам диалог не закрывается. Даже если указать не ".addr", а просто «a» Проверял в firebug, элементы создаются нормально:


<a href="#" id="7700000000000" class="addr">Москва г</a>


Что с этим делать? Ведь должно работать же!



  Сведения об ответе

ЯЯ__4

13:06, 18th August, 2020

для навешивания событий на еще не существующие элементы есть вот это bind и live


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться