Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как добавить доп.поле по кнопке +?

Как добавить доп.поле по кнопке +?


     03.11.2017    доп.поле    Все вопросы » Общие вопросы    1192

вопрос
Добрый день, в админке уже есть заготовок доп полей:

Как мне сделать так чтобы в админке не все сразу доп.поля показывались, а первые к примеру 3, а после если нужно добавить больше, нажать кнопку + и появилось доп поле 4, и так далее потом 5, потом 6.

Не пойму, спасибо.

Ответил: Sander


Открыть файл engine/skins/javascript/application.js
В самый низ с новой строки вставить:
$(function(){
	if ($('#xfield_holder_ras_url_3d_1').length) {
		var last_item = null;
		$('[id^=xfield_holder_ras_url_3d_]').each(function(i){
			last_item = $(this);
			if (i >= 3) $(this).hide();
		})
		if (last_item) {
			last_item.after('<div class="form-group"><label class="control-label col-md-2"></label><div class="col-md-10"><button class="btn btn-gray xfadds" data-id="4">+ Добавить</button></div></div>');
		}
		$('.xfadds').on('click',function(e){
			e.preventDefault();
			var id = $(this).data('id');
			$('#xfield_holder_ras_url_3d_' + id).slideDown(200);
			id++;
			$(this).data('id', id);
			if ($('#xfield_holder_ras_url_3d_' + id).length < 1) {
				$(this).slideUp(100);
			}
		})
	}
})

Обновить страницу в браузере через Ctrl - F5

9 комментариев

KoKauH
Юзер

KoKauH - 3 ноября 2017 09:27 -


KoKauH
Юзер

KoKauH - 3 ноября 2017 09:48 -

Забыл добавить движок DLE 11.0

KoKauH
Юзер

KoKauH - 3 ноября 2017 14:28 -


Есть ньанс, если не выбирать категории то работает, по нажатию кнопки выдает 3D - Сеанс 4: и далее
но у меня это доп.поле привязанно к категории и вот если указать категорию то он все сразу выдает 16 сеансов и кнопка уже не работает =)
как полечить?

vitnet
PHP-developer

vitnet - 3 ноября 2017 22:20 -

1.0 Найдите в коде из ответа

		var last_item = null;

ниже добавьте
Внимание! У вас нет прав для просмотра скрытого текста.

далее
data-id="4"

замените на
Внимание! У вас нет прав для просмотра скрытого текста.

2.0 Откройте файл engine/inc/xfields.php

найдите

замените на

KoKauH
Юзер

KoKauH - 4 ноября 2017 07:05 -

Вчера SANDER предложил другой вариант он тоже работает. Единственно только не могу скрыть кнопку чтобы она не показывалась когда категори еще не выбрана.

KoKauH
Юзер

KoKauH - 3 ноября 2017 14:29 -


вот как выглядит без привязки к категории.
P.s. на кракозябы не смотрите с кодировкой ошибся при сохранении

Heavy1
Юзер

Heavy1 - 3 ноября 2017 19:37 -

KoKauH, кинул жалобу на твой сайт

KoKauH
Юзер

KoKauH - 3 ноября 2017 19:57 -

Heavy1,
да? очень хочется знать за что =))

KoKauH
Юзер

KoKauH - 4 ноября 2017 07:11 -


Вот новый ответ:
Открыть файл engine/skins/javascript/application.js
В самый низ с новой строки вставить:
$(function(){
	if ($('#xfield_holder_ras_url_3d_1').length) {
		var last_item = null;
		$('[id^=xfield_holder_ras_url_3d_]').each(function(i){
			last_item = $(this);
			if (i >= 3) $(this).hide();
		})
		if (last_item) {
			last_item.after('<div class="form-group"><label class="control-label col-md-2"></label><div class="col-md-10"><button class="btn btn-gray xfadds" data-id="4">+ Добавить</button></div></div>');
		}
		$('.xfadds').on('click',function(e){
			e.preventDefault();
			var id = $(this).data('id');
			$('#xfield_holder_ras_url_3d_' + id).slideDown(200);
			id++;
			$(this).data('id', id);
			if ($('#xfield_holder_ras_url_3d_' + id).length < 1) {
				$(this).slideUp(100);
			}
		})
	}
})


Далее открываем файл engine/inc/xfields.php
Находим строчку:
} catch (error) {}

Перед ней вставить:
  $('[id^=xfield_holder_ras_url_3d_]').each(function(i){
   if (i >= 3) $(this).hide();
  })


Все работает как надо, только вот прикрутить не могу, чтобы кнопка не отображалась когда категория еще не выбрана, и отображалась только тогда и та кнопка когда выбрана соответствующая категория.
Если категория выбрана 3D то кнопка должна показываться "Добавить сеанс 3D" и по аналогии с 2D.

Приложил фото

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх