Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с классом в массиве 
:(
    Опции темы
Fareastaz
Дата 3.11.2011, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



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

есть 2 input для ввода данных товара title и price:

Код

<div id="cart" name="cart">

<div id="item_title" name="item_title" class="item_title">
<h4>Book title</h4>
<input type = "text" value=""  id="item_title"><br />
</div>

<div id="item_price" name="item_price" class="item_price">
<h4>Price</h4>
<input type = "text" value=""  id="item_price"><br />
</div>
<br/>
<input type="button" value="Submit" class="button" onclick="submit();">
<input type="button" value="checkout" class="button" onclick="checkout();">

</div>


По кнопке submit должен создаваться товар с названием и ценой (поля item_title и item_price)
А по кнопке checkout нужно вывести список всех товаров с ценами которые были введены и итоговую стоимость всех. 

я начал с создания класса тоесть при нажатии submit создаю класс таким образом: 
Код

function submit (title, price) {
    this.title = document.getElementById("item_title").value;
    this.price = document.getElementById("item_price").value;
}

Дальше как я представляю надо занести эти данные в массив при каждом нажатии submit а потом из маcсива надо вычислить поле item_price и вывести все item_title. Знаю что можно это сделать без классов но нужно с созданием классе. Подскажите пожалуйста как эти классы в массив занести и подсчитать. чтото мне подсказывает что нужно копать сюда.. itemsarray = new array(); item[("item_title")] = new item(title, price) но как это правильно записать?


PM MAIL   Вверх
Stolzen
Дата 3.11.2011, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 4
Всего: 48



Цитата(Fareastaz @  3.11.2011,  10:21 Найти цитируемый пост)
function submit (title, price) {
    this.title = document.getElementById("item_title").value;
    this.price = document.getElementById("item_price").value;
}

Боюсь, что если делать так, то this будет указывать на глобальный объект, т.е. на window.

Попробуйте так:

Код

function submit (title, price) {
    var self = {};
    self.title = document.getElementById("item_title").value;
    self.price = document.getElementById("item_price").value;
    return self;
}



--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Fareastaz
Дата 3.11.2011, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата(Stolzen @  3.11.2011,  09:25 Найти цитируемый пост)
Попробуйте так:

 Спасибо за наводку, попробуюю
PM MAIL   Вверх
magelan
Дата 5.11.2011, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 2
Всего: 16



Код

<script type="text/javascript">
var itemsarray=[];
var tag=function(id)
{
    return document.getElementById(id);
}
</script>

<input value="submit" type="button" onclick="itemsarray[itemsarray.length]=new submit(tag('item_title').value, tag('item_price').value)" >


Это сообщение отредактировал(а) magelan - 5.11.2011, 12:10
PM MAIL   Вверх
Fareastaz
Дата 7.11.2011, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



magelan, Спасибо за идею, к сожалению постов мало репутацию вам не дают поднять..
PM MAIL   Вверх
-=Ustas=-
Дата 7.11.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



Цитата(Stolzen @  3.11.2011,  09:25 Найти цитируемый пост)
Боюсь, что если делать так, то this будет указывать на глобальный объект, т.е. на window.


Stolzen, при new submit контекст this будет именно этот объект, а не window. smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Stolzen
Дата 8.11.2011, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 4
Всего: 48



Цитата(-=Ustas=- @  7.11.2011,  21:41 Найти цитируемый пост)
Stolzen, при new submit контекст this будет именно этот объект, а не window. smile 

Безусловно. Но тогда нужно называть submit c большой буквы - чтобы было видно, что это конструктор и для его вызова нужно обязательно использовать new. 


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0648 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.