Jump to content
  • 0

Работа с классами и массивом


Fareastaz
 Share

Question

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

есть 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 создаю класс таким образом: //creating class

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

}

Дальше как я представляю надо занести эти данные в массив при каждом нажатии submit а потом из маcсива надо вычислить поле item_price и вывести все item_title. Подскажите пожайлуста как эти классы в массив занести и подсчитать.

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Дальше как я представляю надо занести эти данные в массив при каждом нажатии submit а потом из маcсива надо вычислить поле item_price и вывести все item_title. Подскажите пожайлуста как эти классы в массив занести и подсчитать.

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

Универсальнее всего сделать при помощи ajax'a и хранить данные на сервере в той же сессии. Т.е при нажатии на кнопку, передавать эти данные на сервер, в ответ получать массив со списком добавленных товаров.

Можно еще хранить данные локально, в localStorage, но беда как всегда с ИЕ.

Link to comment
Share on other sites

  • 0

Дальше как я представляю надо занести эти данные в массив при каждом нажатии submit а потом из маcсива надо вычислить поле item_price и вывести все item_title. Подскажите пожайлуста как эти классы в массив занести и подсчитать.

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

Универсальнее всего сделать при помощи ajax'a и хранить данные на сервере в той же сессии. Т.е при нажатии на кнопку, передавать эти данные на сервер, в ответ получать массив со списком добавленных товаров.

Можно еще хранить данные локально, в localStorage, но беда как всегда с ИЕ.

Спасибо конечно за наводку но ajax мы еще не проходили(препод задал)..рад бы конечно узнать новую технологию но задачка препдолагает исползование массива и класса..по идее должно быть просто просто непойму как в массив добавить данные из класса...

Link to comment
Share on other sites

  • 0

Спасибо конечно за наводку но ajax мы еще не проходили(препод задал)..рад бы конечно узнать новую технологию но задачка препдолагает исползование массива и класса..по идее должно быть просто просто непойму как в массив добавить данные из класса...

Одним массивом обойтись можно, если допустимо использовать объекты. Нужно для начала сделать временный объект, который будет иметь структуру { title: titleValuel, price: priceValue }, а потом только уже делать push этого объекта в массив

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy