Javascript.RU

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

the_little,
все просто

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<!-- какай-то информационный блок -->
<div>
	<span>Тут какие-то данные 1</span>
	<button>кнопка-1</button>
</div>

<!-- какай-то информационный блок -->
<div>
	<span>Тут какие-то данные 2</span>
	<button>кнопка-2</button>
</div>
----------------------------------
<!-- наша форма -->
<div id="form">
Это форма <br>
	тут уже что-то есть
	<p>сюда надо передать данные из блока</p>
</div>

<script>
$('button').click(function(){
	var a = $(this).prev().text(); //берем нужные нам данные
	$('#form p').text(a); // передаем в форму
});

</script>


прошу прощения за абстрактность
Ответить с цитированием
  #22 (permalink)  
Старый 06.04.2018, 20:00
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Спасибо! Сейчас попробую на своем примере.
Ответить с цитированием
  #23 (permalink)  
Старый 07.04.2018, 22:58
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Всем спасибо! Сделал одну форму. Теперь в нее все подставляется. А таблицы с данными формируются не по клику а заранее. По клику просто появляются.

Получился такой вот код.
$(document).ready(function() {

  var arrPrice = [
    ['Адлер',500,1000,800,2300],
    ['Олимпийский парк',500,1200,800,2300],
    ['Граница ПСОУ',500,1200,800,2500],
    ['Хоста',700,1500,1000,2800],
    ['Спутник',800,0,0,3500],
    ['Сочи Центр',900,2000,1700,4000],
    ['Мамайка',1000,0,1900,4300],
    ['Дагомыс',1300,2500,2500,5000],
    ['Лоо',1500,0,3000,6300],
    ['Вардане',1700,0,3600,7000],
    ['Шексна',1800,0,3600,7300],
    ['Головинка',2200,0,4500,9000],
    ['Чемитоквадзе',2400,0,4800,10000],
    ['Лазаревское' ,3200,6000,5600,11000],
    ['Аше',3600,0,6000,0],
    ['Магри',4000,0,7000,0],
    ['Шепси',4300,0,7200,0],
    ['Туапсе',4800,9000,7500,15000],
    ['Агой' ,5000,0,8200,0],
    ['Небуг',5300,0,8800,17000],
    ['Сосновый',5300,0,9000,0],
    ['Ольгинка',5500,0,10000,0],
    ['Новомихайловка',5700,0,10500,0],
    ['Джубга',6500,12000,11000,20000],
    ['Геленджик',8500,18000,12000,25000],
    ['Новороссийск',9000,0,13000,0],
    ['Анапа',10000,0,14000,0],
    ['Порт Кавказ',12000,20000,15000,0],
    ['Краснодар',8000,18000,12000,0],
    ['п.Красная Поляна',1200,0,2300,0],
    ['Эсто Садок',1300,0,2400,0],
    ['Роза Хутор',1300,3000,2500,6000],
    ['Горки Город высота 960',1500,0,2800,0],
    ['Горная Олимпийская деревня высота 1170',1700,0,3000,0],
    ['Газпром высота 1389',2000,0,3200,0],
    ['Республика Абхазия - Гагра',3500,0,6000,0],
    ['Республика Абхазия - Пицунда',4500,0,7000,0],
    ['Республика Абхазия - Гудаута',5000,0,8000,0],
    ['Республика Абхазия - Новый Афон',5500,0,9000,0],
    ['Республика Абхазия - Сухум',6500,0,10000,0],
    ['Республика Абхазия - о.Рица',5500,0,10000,0],
  ];

  for (var i = 0; i < arrPrice.length; i++) {
    var a = arrPrice[i][1];
    if (a > 0) {
      $("#comfort-price").append('<div class="row white-bg"><div class="col-sm-5"><span class="napravlenie">' + arrPrice[i][0] + '</span></div><div class="col-sm-3 text-center"><span class="napravlenie-price">' + arrPrice[i][1] + 'руб.' + '</span></div><div class="col-sm-4"><span class="span-class" style="display:none">Комфорт</span><button class="cp-btn-style1 showform">Заказать</button></div></div>');
    }
    var b = arrPrice[i][2];
    if (b > 0) {
      $("#business-price").append('<div class="row white-bg"><div class="col-sm-5"><span class="napravlenie">' + arrPrice[i][0] + '</span></div><div class="col-sm-3 text-center"><span class="napravlenie-price">' + arrPrice[i][2] + 'руб.' + '</span></div><div class="col-sm-4"><span class="span-class" style="display:none">Бизнес</span><button class="cp-btn-style1 showform">Заказать</button></div></div>');
    }
    var c = arrPrice[i][3];
    if (c > 0) {
      $("#miniven-price").append('<div class="row white-bg"><div class="col-sm-5"><span class="napravlenie">' + arrPrice[i][0] + '</span></div><div class="col-sm-3 text-center"><span class="napravlenie-price">' + arrPrice[i][3] + 'руб.' + '</span></div><div class="col-sm-4"><span class="span-class" style="display:none">Минивен</span><button class="cp-btn-style1 showform">Заказать</button></div></div>');
    }
    var d = arrPrice[i][4];
    if (d > 0) {
      $("#bus-price").append('<div class="row white-bg"><div class="col-sm-5"><span class="napravlenie">' + arrPrice[i][0] + '</span></div><div class="col-sm-3 text-center"><span class="napravlenie-price">' + arrPrice[i][4] + 'руб.' + '</span></div><div class="col-sm-4"><span class="span-class" style="display:none">Автобус</span><button class="cp-btn-style1 showform">Заказать</button></div></div>');
    }
  }

  $('#comfort-show').click(function() {
    $('#comfort-container').show();
    $('#business-container').hide();
    $('#miniven-container').hide();
    $('#bus-container').hide();
  });
  $('#business-show').click(function() {
    $('#comfort-container').hide();
    $('#business-container').show();
    $('#miniven-container').hide();
    $('#bus-container').hide();
  });
  $('#miniven-show').click(function() {
    $('#comfort-container').hide();
    $('#business-container').hide();
    $('#miniven-container').show();
    $('#bus-container').hide();
  });
  $('#bus-show').click(function() {
    $('#comfort-container').hide();
    $('#business-container').hide();
    $('#miniven-container').hide();
    $('#bus-container').show();
  });

  $('.showform').click(function(){
    $('.form-container').fadeIn();
    var d = $(this).closest(".white-bg").find(".napravlenie").text();
    $('#napravlenie-id').val(d);
    var e = $(this).closest(".white-bg").find(".napravlenie-price").text();
    $('#price-id').val(e);
    var f = $(this).closest(".white-bg").find(".span-class").text();
    $('#class-id').val(f);
  });

  $('.close-form').click(function closetestform() {
    $('.form-container').fadeOut();
  });

});
Ответить с цитированием
  #24 (permalink)  
Старый 07.04.2018, 23:07
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$('#comfort-show, #bus-show, #miniven-show, #business-show ').click(function() {
    $('#comfort-container').show();
    $('#bus-container, #business-container, #miniven-container').hide();
  });


есть над чем работать
Ответить с цитированием
  #25 (permalink)  
Старый 07.04.2018, 23:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

47-64 строки

var arrClass = ['#comfort-price','#business-price', '#miniven-price', '#bus-price'];
		for (var i = 0; i < arrPrice.length; i++) {
			for (var j = 1; j < arrPrice[i].length; j++) {
				var a = arrPrice[i][j];
				if (a) $(arrClass[j-1]).append('<div class="row white-bg"><div class="col-sm-5"><span class="napravlenie">' + arrPrice[i][0] + '</span></div><div class="col-sm-3 text-center"><span class="napravlenie-price">' + a + 'руб.' + '</span></div><div class="col-sm-4"><span class="span-class" style="display:none">Комфорт</span><button class="cp-btn-style1 showform">Заказать</button></div></div>');
			}
		}
Ответить с цитированием
  #26 (permalink)  
Старый 07.04.2018, 23:50
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Сообщение от j0hnik Посмотреть сообщение
$('#comfort-show, #bus-show, #miniven-show, #business-show ').click(function() {
    $('#comfort-container').show();
    $('#bus-container, #business-container, #miniven-container').hide();
  });


есть над чем работать
тут при нажатии на любую кнопку будут скрываться одни и те же блоки, и показываться только один.
А у меня при нажатии на разные кнопки скрываются и показываются разные блоки.

Но вот про такую запись всегда забываю.
$('#bus-container, #business-container, #miniven-container').hide();

Последний раз редактировалось the_little, 07.04.2018 в 23:58.
Ответить с цитированием
  #27 (permalink)  
Старый 07.04.2018, 23:54
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

А как в массиве найти строку, в которой например первый элемент = 'Адлер'. Ну т.е. индекс нужен строки...
Все что нахожу касается поиска по одномерному массиву.
Ответить с цитированием
  #28 (permalink)  
Старый 07.04.2018, 23:55
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от the_little Посмотреть сообщение
тут при нажатии на любую кнопку будут скрываться одни и те же блоки, и показываться только один.
А у меня при нажатии на разные кнопки скрываются и показываются разные блоки.
да, это я просмотрел
Ответить с цитированием
  #29 (permalink)  
Старый 07.04.2018, 23:57
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от the_little Посмотреть сообщение
А как в массиве найти строку, в которой например первый элемент = 'Адлер'. Ну т.е. индекс нужен строки...
Все что нахожу касается поиска по одномерному массиву.
arr.findIndex(el => el == 'Адлер');
если не найдет вернет -1
Ответить с цитированием
  #30 (permalink)  
Старый 08.04.2018, 00:08
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Сообщение от j0hnik Посмотреть сообщение
arr.findIndex(el => el == 'Адлер');
если не найдет вернет -1
Странно. Делаю так
var index = arrPrice.findIndex(el => el == 'Адлер');

выдает -1
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Help подгрузка js через onclick sarex jQuery 3 27.04.2016 11:13
При подгрузке страницы через AJAX JS не отрабатывается, но подгружается vityurov Общие вопросы Javascript 2 20.06.2013 12:24
Динамическое создание iframe в Firefox mrbean11 Firefox/Mozilla 8 02.11.2012 21:23
AJAX не работает с формой, которая выводится через js wayzer Элементы интерфейса 2 15.09.2012 21:01
Повтор музыки в JS через flash kuper Общие вопросы Javascript 0 13.12.2011 10:57