Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как передать товар из таблицы в форму всплывающего окна? (https://javascript.ru/forum/dom-window/52032-kak-peredat-tovar-iz-tablicy-v-formu-vsplyvayushhego-okna.html)

sprint007 01.12.2014 13:51

Как передать товар из таблицы в форму всплывающего окна?
 
Вложений: 1
Нужна помощь! На сайте товары в виде прайс листа в обычной таблице.
Нужно при нажатии кнопки заказ, передать данные из ячеек (или строку целиком) с классами tbrazmer tbsort tbdlina в форму заказа buy.php.


таблица
<table width="90%" border="0" cellpadding="5" cellspacing="1" style="text-align:center;">
  <tr class="head-str">
    <th>Размер (мм)<br />
ширина*толщина*длина</th>
    <th>Сорт</th>
    <th>Производитель</th>
    <th>Цена м2<br />
    (руб.)</th>
    <th>Действие</th>
    <th>Нужная Длина(мм)</th>
  </tr>
  <tbody>
  <tr class="info-str">
    <th class="tbrazmer">85/115х14х4000-2750</th>
    <td class="tbsort">В</td>
    <td class="tbproiz">Иркутская обл.</td>
    <td class="tbcena">250</td>
    <td><a class="modal" href="/buy.php" rel="{handler: 'iframe', size: {x:700, y:700}}"><img src="zakaz-img.png"/></a></td>
    <td>
      <input class="tbdlina" name="textfield" type="text" size="5" /></td>
  </tr>
  <tr class="info-str">
    <th class="tbrazmer">85/115х14х4000-2750</th>
    <td class="tbsort">С</td>
    <td class="tbproiz">Иркутская обл.</td>
    <td class="tbcena">180</td>
    <td><a class="modal" href="/buy.php" rel="{handler: 'iframe', size: {x:700, y:700}}"><img src="zakaz-img.png"/></a></td>
    <td>
      <input class="tbdlina" name="textfield" type="text" size="5" /></td>
  </tr>
  </tbody>
</table>

...


Пробовал подставить скрипт "задать вопрос по этому товару" который сейчас стоит и нормально передает инфу из классов, он работает, но только на первую строку, а список товаров длинный и получается что в какой строке кнопку заказа не нажать, передает только первую строку из таблицы. Может его можно подправить? или подскажите другой вариант.

Скрипт задать вопрос по товару
<script>
	jQuery(document).ready(function($){
		$(".modal.feedback").click(function(){
			var link=$(this).prop("href");
			$(this).prop("href",link+"?name2="+$(".tbrazmer").html()+"&sort2="+$(".tbsort").html());
		});
	})
</script>


а в форме отправке в поле товара и сорта принимаю данные
<input name="tovar" type="text" value="<?php print $_GET['name2'] ?>" />
  <input name="sort" type="text" value="<?php print $_GET['sort2'] ?>" />

Veterinar 02.12.2014 11:36

Если нужны данные из определенной строки, то передавайте ID строки таблицы, а не имени класса, которых множество одинаковых.

sprint007 03.12.2014 12:06

Наверное существует как минимум 10 способов передать эти данные, если бы я разбирался в JavaScript - я бы вам их написал :) Но спасибо, мне уже подсказали на непрофильном форуме, без мороки с ID.

$(this).prop("href",link+"?name2="+$(this).parent().siblings(".tbrazmer").html()+"&sort2="+$(this).parent().siblings(".tbsort").html());

kostyanet 03.12.2014 16:04

Существует 100500 способов на непрофильных форумах, а на профильных передают ровно 1 - уникальный номер записи в БД переданный ранее в интерфейс. Ну то есть передают пару - id=>value, amount=>value, или id=>amount, что эквипенисуально.

Вам просто попалась ***нутая БД. В которой 1 майка с артикулом, а все ее цвета и размеры - в пропертях. Так только моральные уроды делают, которые ни разу чека в магазине не видели.


Часовой пояс GMT +3, время: 20:24.