Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2018, 14:07
Аспирант
Отправить личное сообщение для desperate_one Посмотреть профиль Найти все сообщения от desperate_one
 
Регистрация: 21.04.2017
Сообщений: 43

Передача данных из карточки в popup форму
Есть карточки товаров, грубо выглядят так:
<div class="cart" id="1">
 <h3>Пицца пепперони</h3>
 <img src="1.png" height="150px">
 <p class="desc">Состав пиццы</p>
 <p class="selects">
    <span class="ves">450 гр.</span>
    <span class="testo">
                    <b>Размер:</b> M
    </span>
 </p>
 <p class="cena">500 руб.</p>
  <div class="order-form-go btn">Заказать</div>
</div>
<div class="cart" id="2">
 <h3>Пицца Маргарита</h3>
 <img src="2.png" height="150px">
 <p class="desc">Состав пиццы 2</p>
 <p class="selects">
    <span class="ves">320 гр.</span>
    <span class="testo">
                    <b>Размер:</b> S
    </span>
 </p>
 <p class="cena">370 руб.</p>
  <div class="order-form-go btn">Заказать</div>
</div>


есть попап форма в которую должны передаваться данные выбранной пиццы по клику на кнопку "Заказать":

<div id="modal-form">
        <span id="modal_close">X</span>
        <form action="" method="post">
            <h3>Оформление заказа</h3>
            <hr>
            <h4>Название товара</h4>
            <img src="картинка карточки" height="50px" align="left">
            <br>
            <p>описание карточки</p>
            <p>
                <span>
                    <b>Вес:</b> ? гр.
                </span>
                <span>
                    <b>Размер:</b> ?
                </span>
            </p>
            <p>
                <b>Цена:</b> ? руб.
            </p>
            <input name="order_go" type="submit" value="ОТПРАВИТЬ">
        </form>
    </div>
<div id="overlay"></div><!-- Пoдлoжкa -->


Скрипт показа/скрытия попапа:
<script>
    $(document).ready(function() {
	$('div.order-form-go').click( function(event){
		event.preventDefault(); // выключaем стaндaртную рoль элементa
		$('#overlay').fadeIn(400, // снaчaлa плaвнo пoкaзывaем темную пoдлoжку
		 	function(){ // пoсле выпoлнения предъидущей aнимaции
				$('#modal-form') 
					.css('display', 'block') // убирaем у мoдaльнoгo oкнa display: none;
					.animate({opacity: 1}, 200); // плaвнo прибaвляем прoзрaчнoсть oднoвременнo сo съезжaнием вниз
		});
	});
	/* Зaкрытие мoдaльнoгo oкнa, тут делaем тo же сaмoе нo в oбрaтнoм пoрядке */
	$('#modal_close, #overlay').click( function(){ // лoвим клик пo крестику или пoдлoжке
		$('#modal-form')
			.animate({opacity: 0}, 200,  // плaвнo меняем прoзрaчнoсть нa 0 и oднoвременнo двигaем oкнo вверх
				function(){ // пoсле aнимaции
					$(this).css('display', 'none'); // делaем ему display: none;
					$('#overlay').fadeOut(400); // скрывaем пoдлoжку
				}
			);
	});
});
    </script>

Вывод попапа сделал, но не знаю как динамически передать данные из карточки в попап, помогите решить проблемку.
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2018, 14:30
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$(document).ready(function() {
  $('div.order-form-go').click( function(event){
      $('#modal-form h4').text($(this).siblings('h3').text());
.... итд
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2018, 18:10
Аспирант
Отправить личное сообщение для desperate_one Посмотреть профиль Найти все сообщения от desperate_one
 
Регистрация: 21.04.2017
Сообщений: 43

Вот написал я:

$(document).ready(function() {
  $('div.order-form-go').click( function(event){
      $('#modal-form h4').text($(this).siblings('h3').text());
  });
});


И никакого действия нет
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2018, 18:25
Аспирант
Отправить личное сообщение для desperate_one Посмотреть профиль Найти все сообщения от desperate_one
 
Регистрация: 21.04.2017
Сообщений: 43

Код выше работает! А как быть если нужно взять текст элемента который не sibling с div.order-form-go?
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2018, 19:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

desperate_one,
обьект с данными лучше, чем парсить html.
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2018, 19:31
Аспирант
Отправить личное сообщение для desperate_one Посмотреть профиль Найти все сообщения от desperate_one
 
Регистрация: 21.04.2017
Сообщений: 43

Ну к примеру:

<div id="root_parent">
  <div class="parent">
    <div class="header">
      <h3>Text</h3>
    </div>
  </div>
  <div class="btns">
    <button></button>
  </div>
</div>
<div id="root_parent">
  <div class="parent">
    <div class="header">
      <h3>Text</h3>
    </div>
  </div>
  <div class="btns">
    <button></button>
  </div>
</div>
<div id="root_parent">
  <div class="parent">
    <div class="header">
      <h3>Text</h3>
    </div>
  </div>
  <div class="btns">
    <button></button>
  </div>
</div>

<div id="receiver">text</div>


Как сделать, чтоб при клике на btns, в блок receiver выводился текст из div.header h3?
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2018, 19:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

desperate_one,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <style type="text/css">

  </style>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
   <script>
      $(document).ready(function() {
	$('.btns').click( function(event){
		event.preventDefault();
    $('#receiver').text($(this).siblings('.parent').find('h3').text())


        })
     })
   </script>
</head>

<body>
<div id="root_parent">
  <div class="parent">
    <div class="header">
      <h3>Text1</h3>
    </div>
  </div>
  <div class="btns">
    <button></button>
  </div>
</div>
<div id="root_parent">
  <div class="parent">
    <div class="header">
      <h3>Text2</h3>
    </div>
  </div>
  <div class="btns">
    <button></button>
  </div>
</div>
<div id="root_parent">
  <div class="parent">
    <div class="header">
      <h3>Text3</h3>
    </div>
  </div>
  <div class="btns">
    <button></button>
  </div>
</div>

<div id="receiver">text</div>

</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 14.08.2018, 19:50
Аспирант
Отправить личное сообщение для desperate_one Посмотреть профиль Найти все сообщения от desperate_one
 
Регистрация: 21.04.2017
Сообщений: 43

а если при клике на button?
Ответить с цитированием
  #9 (permalink)  
Старый 14.08.2018, 19:57
Аспирант
Отправить личное сообщение для desperate_one Посмотреть профиль Найти все сообщения от desperate_one
 
Регистрация: 21.04.2017
Сообщений: 43

Я просто не так изложил вложенность, у меня такое дерево:
<ul>
  <li>
    <ul>
       <li></li>
       <li></li>
       <li></li>
    </ul>
  </li>
  <li>динамический текст</li>
  <li>
    <ul>
       <li></li>
       <li></li>
       <li>динамическая кнопка</li>
    </ul>
  </li>
</ul>

<p>Область вывода</p>

И в таком случае если нужно взять ДИНАМИЧЕСКИЙ ТЕКСТ при нажатии на ДИНАМИЧЕСКУЮ КНОПКУ и вывести его в ОБЛАСТЬ ВЫВОДА, они же не на одном уровне находятся, то как взять значение?
Ответить с цитированием
  #10 (permalink)  
Старый 14.08.2018, 19:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

desperate_one,
$(document).ready(function() {
	$('.btns button').click( function(event){
		event.preventDefault();
    $('#receiver').text($(this).parent().siblings('.parent').find('h3').text())
        })
     })
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных в форму при нажатии на ссылку usmdamir Общие вопросы Javascript 0 26.07.2017 00:55
Передача данных в форму. Malkis Общие вопросы Javascript 1 21.10.2013 01:24
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Передача данных из формы в форму на разных страницах Катерина Общие вопросы Javascript 1 04.03.2010 18:18
Передача данных из формы/в форму. Катерина Общие вопросы Javascript 0 30.01.2010 18:01