Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2015, 20:37   #1
appplay
Новичок
Джуниор
 
Регистрация: 17.07.2015
Сообщений: 3
По умолчанию Переменные в действии "onсlick"

Доброго времени суток, форумчане.
Есть такой код:
Код HTML:
<ons-list ng-controller="MasterControllerRolls">
                <ons-list-item modifier="chevron" class="item" ng-repeat="item in items" ng-click="showDetail($index)">
                    <ons-row>
                        <ons-col width="60px">
                            <div class="item-thum"><img src="{{item.scr}}"></div>
                        </ons-col>
                        <ons-col>
                            <header>
                                <span class="item-title">{{item.title}}</span>
                                <span class="item-label">{{item.label}}</span>
                            </header>
                            <p class="item-desc">{{item.desc}}</p>
                        </ons-col>
                    </ons-row>
                </ons-list-item>
            </ons-list>
        </ons-page>
    </ons-navigator>

    <ons-template id="detail.html">
        <ons-page ng-controller="DetailController">

            <ons-toolbar>
                <div class="left"><ons-back-button>Назад</ons-back-button></div>
                <div class="center">Детали</div>
            </ons-toolbar>

            <ons-list modifier="inset" style="margin-top: 10px">
                <ons-list-item class="item">
                    <ons-row>
                        <ons-col width="60px">
                         <div class="item-thum"><img src="{{item.scr}}"></div>
                        </ons-col>
                        <ons-col>
                            <header>
                                <span class="item-title">{{item.title}}</span>
                                <span class="item-label">{{item.label}}</span>
                            </header>
                            <p class="item-desc">{{item.desc}}</p>
                        </ons-col>
                    </ons-row>
                </ons-list-item>






				<a onclick="simpleCart.add('name=Роллы','price=70','image=images/thumbs/whiteStripe.jpg');return false;">
				<ons-list-item modifier="chevron" ng-click="doSomething()">
                    <ons-icon icon="ion-android-cart" fixed-width="true" style="color: #ccc"></ons-icon>
                    Добавить в корзину
                </ons-list-item></a>
            </ons-list>
Нужно вставить переменную "{{item.title}}" в значение "name", переменную "{{item.label}}" в значение "price" и переменную "{{item.scr}}" в значение "image" в этой строке:
Код HTML:
<a onclick="simpleCart.add('name=Роллы','price=70','image=images/thumbs/whiteStripe.jpg');return false;">
Скрипт корзины: simpleCart.js
Скрипт с переменными: index.js

JS изучаю не так давно. Что можете посоветовать?

Последний раз редактировалось appplay; 17.07.2015 в 20:40.
appplay вне форума Ответить с цитированием
Старый 17.07.2015, 21:24   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от appplay Посмотреть сообщение
Нужно вставить переменную "{{item.title}}" в значение "name", переменную "{{item.label}}" в значение "price" и переменную "{{item.scr}}" в значение "image" в этой строке:
Код HTML:
<a onclick="simpleCart.add('name=Роллы','price=70','image=images/thumbs/whiteStripe.jpg');return false;">
А, в чём собственно проблема?
Если в фигурных скобках спереди и сзади переменных, то просто уберите их.
Код HTML:
'name='+item.title
Надеюсь, идея понятна...
Streletz вне форума Ответить с цитированием
Старый 17.07.2015, 22:09   #3
appplay
Новичок
Джуниор
 
Регистрация: 17.07.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
А, в чём собственно проблема?
Если в фигурных скобках спереди и сзади переменных, то просто уберите их.
Код HTML:
'name='+item.title
Надеюсь, идея понятна...
Переменная теперь вроде бы читается, но при добавлении товара в корзину добавляется товар с именем "undefined". Получается что переменная не найдена?

Переменные выглядят вот так:
Код:
 module.factory('$data', function() {
      var data = {};

      data.items = [
          {
			  scr: 'menu/sushi/kani.jpg',
              title: 'Кани',
              label: '70 р',
              desc: 'Суши с крабовым мясом'
          },
          {
			  scr: 'menu/sushi/tobiko.jpg',
              title: 'Тобико',
              label: '55 р',
              desc: 'Суши с икрой летучей рыбы'
          },
          {
			  scr: 'menu/sushi/spaisi.unagi.jpg',
              title: 'Спайси унаги',
              label: '80 р',
              desc: 'Острый суши с угрем'
          },
          {
			  scr: 'menu/sushi/spaisi.syake.jpg',
              title: 'Спайси сяке',
              label: '65 р',
              desc: 'Острая суши с лососем'
          }
		           
      ];
	        data.rolls = [
          
		  {
			  scr: 'menu/nabors/set.zapecheny.jpg',
              title: 'Сет запеченный',
              label: '920 р',
              desc: 'Ролл с курицей, запеченный рай, запеченная лава, запеченный банзай, запеченный грин'
          },
          {
			  scr: 'menu/nabors/set.zhareny.jpg',
              title: 'Сет жареный',
              label: '780 р',
              desc: 'Саламандер, темпура унаги, макс темпура, шеф ролл, морской рай'
          },
          {
			  scr: 'menu/nabors/set.vesenny3.jpg',
              title: 'Сет весенний 3',
              label: '1000 р',
              desc: 'Цезарь, ролл с курицей, биг унаги, калифорния, хитоши, банзай, морской рай, филадельфия'
          },
          {
			  scr: 'menu/nabors/set.vesenny2.jpg',
              title: 'Сет весенний 2',
              label: '750 р',
              desc: 'Ролл с курицей, хитоши, калифорния, биг унаги, сливочный лосось, цезарь'
          }
      ];
		           
	  
      return data;
  });
})();

Последний раз редактировалось appplay; 17.07.2015 в 22:32.
appplay вне форума Ответить с цитированием
Старый 17.07.2015, 23:09   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от appplay Посмотреть сообщение
Переменная теперь вроде бы читается, но при добавлении товара в корзину добавляется товар с именем "undefined". Получается что переменная не найдена?
Получается, что в метод Add передали параметр не того типа, который он принимает. Передача параметра работает, просто передаётся не то, что нужно.
Произошло это, в том числе, потому, что Вы изначально не раскрыли постановку задачи полностью.
К слову, у Вас данные о товарах, это на самом деле целая сложная структура в формате JSON.
Для того чтобы добраться до того же title, нужно обратиться к дочернему элементу по номеру (нумерация начинается с 0).
Например, для "Кани" это должно быть.
Код HTML:
item[0].title
Приблизительно как-то так... Писал прямо на форуме. Не проверял.
Смотрите код скриптов и предавайте нужный параметр.
Если хотите чтобы Вам подсказали и подсказали более-менее точно, выкладывайте полностью код и полностью описывайте задачу.
Телепаты ушли в отпуск.
Streletz вне форума Ответить с цитированием
Старый 18.07.2015, 01:37   #5
appplay
Новичок
Джуниор
 
Регистрация: 17.07.2015
Сообщений: 3
По умолчанию

Пробовал скрипт другой корзины поставить. С этим кодом всё работает:
Код HTML:
<a class="cart-buy-button"
  data-name="{{item.title}}"
  data-price="{{item.label}}"
  data-quantity="1">
                <ons-list-item modifier="chevron" ng-click="doSomething()">
                    <ons-icon icon="ion-android-cart" fixed-width="true" style="color: #ccc"></ons-icon>
                    Добавить в корзину
                </ons-list-item></a>
            </ons-list>
Как же тогда правильно прописать переменные в "onсlick" ?

Цитата:
Сообщение от appplay Посмотреть сообщение
Пробовал скрипт другой корзины поставить. С этим кодом всё работает:
Код HTML:
<a class="cart-buy-button"
  data-name="{{item.title}}"
  data-price="{{item.label}}"
  data-quantity="1">
                <ons-list-item modifier="chevron" ng-click="doSomething()">
                    <ons-icon icon="ion-android-cart" fixed-width="true" style="color: #ccc"></ons-icon>
                    Добавить в корзину
                </ons-list-item></a>
            </ons-list>
Как же тогда правильно прописать переменные в "onсlick" ?
Или может быть попробовать при нажатии на кнопку "добавить в корзину" значения переменных записывались в coockie, а на странице корзины выводились. Но как это реализовать?

Последний раз редактировалось Stilet; 18.07.2015 в 09:05.
appplay вне форума Ответить с цитированием
Старый 18.07.2015, 10:24   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от appplay Посмотреть сообщение
Пробовал скрипт другой корзины поставить. С этим кодом всё работает:
Код HTML:
<a class="cart-buy-button"
  data-name="{{item.title}}"
  data-price="{{item.label}}"
  data-quantity="1">
                <ons-list-item modifier="chevron" ng-click="doSomething()">
                    <ons-icon icon="ion-android-cart" fixed-width="true" style="color: #ccc"></ons-icon>
                    Добавить в корзину
                </ons-list-item></a>
            </ons-list>
Вот и славно!
Цитата:
Сообщение от appplay Посмотреть сообщение
Как же тогда правильно прописать переменные в "onсlick" ?
Полагаю, ответ на этот вопрос уже дан в приведённом Вами коде.
Видимо JS фреймворк, на котором это всё реализовано, использует свои нестандартные способы работы с JSON.
Нашёл в гугле документацию по нему. Полистайте. Возможно, многое станет понятным.
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04