Тема: on live и json
Показать сообщение отдельно
  #1 (permalink)  
Старый 02.07.2015, 11:48
Аватар для psfdek
Профессор
Отправить личное сообщение для psfdek Посмотреть профиль Найти все сообщения от psfdek
 
Регистрация: 14.02.2014
Сообщений: 157

on live и json
Проблема! Почему-то не работает on, т.е. на елементы в таблице .Quert_table .Quert_table_item_priority input повешены евенты при смене значения приоритета отправлять запрос к исполнителю и менять этот приоритет, затем если всё ок скрипт внутри #Quert_table1 tbody получает новые элементы данной страницы, но у них уже евенты на .Quert_table .Quert_table_item_priority input не висят и не работает. Как правильно сделать.
PHP возвращает готовый HTML для tbody в data.content
$(document).ready(function () {
	function ContentReload() {
		var dataList = $("#Quert_table1").attr("data-list");
		var dataStart = $("#Quert_table1").attr("data-start");
		var dataNum = $("#Quert_table1").attr("data-num");
		
		$.ajax({
		  type:"POST",
		  url:'index.html?isNaked=1',
		  data:'dataList='+dataList+'&dataStart='+dataStart+'&dataNum='+dataNum+'&query=ContentReload',
		  success: function(response){
			data = jQuery.parseJSON(response);
			if(data.status=='ok'){
				$("#Quert_table1 tbody").html(data.content);
			}else{
				location.reload('index.html');
			}
		  }
		});
	}
	$( ".Quert_table .Quert_table_item_priority input" ).on('change',function(e){
		$(".Quert_table_item_priority input[data-id]").css("border","1px rgb(170, 170, 170) solid");
		var val = $(this).val();
		var id = $(this).attr("data-id");
		var oldVal = $(this).attr("data-value");
		$.ajax({
		  type:"POST",
		  url:'index.html?isNaked=1',
		  data:'id='+id+'&Priority='+val+'&query=setPriority',
		  success: function(response){
			data = jQuery.parseJSON(response);
			if(data.status=='ok'){
				ContentReload();
			}else{
				$(".Quert_table_item_priority input[data-id="+id+"]").css("border","1px red solid");
			}
		  }
		});
	});
});
Ответить с цитированием