Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.07.2017, 19:59
Аспирант
Отправить личное сообщение для Огонек Посмотреть профиль Найти все сообщения от Огонек
 
Регистрация: 11.06.2017
Сообщений: 45

Помогите моему скрипту "найти" объект
Здравствуйте.
Привожу фрагмент скрипта.Эта функция выводит результаты поиска в виде нескольких панелек с кнопками Выбрать для каждого результата:
function searchCustomers(func_search)
	{
		$.ajax({
			type:"POST",
			url : "{$link->getAdminLink('AdminCustomers')}",
			async: true,
			dataType: "json",
			data : {
				ajax: "1",
				tab: "AdminCustomers",
				action: func_search ,
				customer_search: $('#customer').val()},
			success : function(res)
			{
				if(res.found)
				{
					var html = '';
					$.each(res.customers, function() {
						html += '<div class="customerCard col-lg-4">';
						html += '<div class="panel">';
						html += '<div class="panel-heading">'+this.firstname+' '+this.lastname;
						html += '<span class="pull-right">#'+this.id_customer+'</span></div>';
						html += '<span>'+this.email+'</span><br/>';
						html += '<span class="text-muted">'+((this.birthday != '0000-00-00') ? this.birthday : '')+'</span><br/>';
						html += '<div class="panel-footer">';
						html += '<a href="{$link->getAdminLink('AdminCustomers')}&id_customer='+this.id_customer+'&viewcustomer&liteDisplaying=1" class="btn btn-default fancybox"><i class="icon-search"></i> {l s='Details'}</a>';
						html += '<button type="button" data-customer="'+this.id_customer+'" class="setup-customer btn btn-default pull-right"><i class="icon-arrow-right"></i> {l s='Choose'}</button>';
						html += '</div>';
						html += '</div>';
						html += '</div>';
					});
				}
				else
					html = '<div class="alert alert-warning">{l s='No customers found'}</div>';
				$('#customers').html(html);
				resetBind();
			}
		});
	}

а также скрипт по нажатию на любую из кнопочек из строки №27
$('#customer_part').on('click','button.setup-customer',function(e){
			e.preventDefault();
			chooseCustomer($(this));
		});


Хочу добавить программное нажатие первой из этих кнопочек при открытии формы.
Испробовал с десяток вариантов, все приводить не буду, только последний из них (все равно все не рабочие )
$('#customer_part').find('setup-customer').click();

как нажать на первую по списку кнопочку?
Ответить с цитированием
  #2 (permalink)  
Старый 06.07.2017, 21:11
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$('#customer_part').find('.setup-customer').trigger( "click" );


так пробовали?
Ответить с цитированием
  #3 (permalink)  
Старый 06.07.2017, 21:37
Аспирант
Отправить личное сообщение для Огонек Посмотреть профиль Найти все сообщения от Огонек
 
Регистрация: 11.06.2017
Сообщений: 45

Сообщение от j0hnik
$('#customer_part').find('.setup-customer').trigger( "click" );
Попробовал - не помогает.
А может быть скрипт просто не успевает после ajax запроса "отрисовать" результаты и кнопки просто нет в момент её нажатия?
У меня идет так
searchCustomers("searchCustomersById");
$('#customer_part').find('.setup-customer').trigger( "click" );
Ответить с цитированием
  #4 (permalink)  
Старый 06.07.2017, 22:03
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

тогда про complete callback function поищите примеры
Ответить с цитированием
  #5 (permalink)  
Старый 06.07.2017, 22:22
Аспирант
Отправить личное сообщение для Огонек Посмотреть профиль Найти все сообщения от Огонек
 
Регистрация: 11.06.2017
Сообщений: 45

Сообщение от j0hnik
тогда про complete callback function поищите примеры
А почему бы просто не разместить нажатие кнопки после строки 36? (хотя и там не работает. правда не проверял весь свой десяток вариантов)
Ответить с цитированием
  #6 (permalink)  
Старый 06.07.2017, 22:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

собственно он должен быть в коде ниже создания элемента и назначения обработчика события.

Последний раз редактировалось j0hnik, 07.07.2017 в 00:05. Причина: написал ерунду
Ответить с цитированием
  #7 (permalink)  
Старый 06.07.2017, 22:58
Аспирант
Отправить личное сообщение для Огонек Посмотреть профиль Найти все сообщения от Огонек
 
Регистрация: 11.06.2017
Сообщений: 45

Докладываю
Вынес программное нажатие в новую тестовую кнопку
результат - и ваш и мой вариант работают, т.е. "находят" кнопку и нажимают.
А про " обернуть в ready " не очень понятно, ведь если я правильно понимаю, ready у объекта наступает когда document стал ready, а не после его персональной перерисовки
$('#customers').html(html);
Ответить с цитированием
  #8 (permalink)  
Старый 06.07.2017, 22:59
Аспирант
Отправить личное сообщение для Огонек Посмотреть профиль Найти все сообщения от Огонек
 
Регистрация: 11.06.2017
Сообщений: 45

И вопрос: уведомления на почту об ответе только у меня приходят через раз?
Ответить с цитированием
  #9 (permalink)  
Старый 06.07.2017, 23:00
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Огонек Посмотреть сообщение
Докладываю
Вынес программное нажатие в новую тестовую кнопку
результат - и ваш и мой вариант работают, т.е. "находят" кнопку и нажимают.
А про " обернуть в ready " не очень понятно, ведь если я правильно понимаю, ready у объекта наступает когда document стал ready, а не после его персональной перерисовки
$('#customers').html(html);
ну не документ а элемент $('#customer_part') в данном случае
Ответить с цитированием
  #10 (permalink)  
Старый 06.07.2017, 23:03
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Огонек Посмотреть сообщение
И вопрос: уведомления на почту об ответе только у меня приходят через раз?
не могу точно сказать в чем причина, почта на том же домене? в папке спам гляньте.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать объект optron Общие вопросы Javascript 3 11.10.2015 11:54
Добавить объект в другой объект фонарик Общие вопросы Javascript 5 11.10.2015 01:57
Помогите определить массив или объект ksnovich Общие вопросы Javascript 1 09.03.2015 17:12
Помогите написать скрипт к моему сайту, который выводит окошко со списком заданий litwisha Ваши сайты и скрипты 2 30.12.2012 20:25