Jump to content
  • 0

Получить содержимое span и записать в массив.


apexis
 Share

Question

14 answers to this question

Recommended Posts

  • 0

данные в массив получилось ввести, но у меня в html коде стоит выпадающий список. В каждом случае числа беруться из массива умножаются и выводятся в тот контейнер с которого взято число. Выходит так что данные в массиве перезаписываются и выходит двойное умножение - вот пример http://jsbin.com/ecupoq/11/edit. В ячейке базовая клиническая версия 1 видно проблему. Как это исправить?

Edited by apexis
Link to comment
Share on other sites

  • 0

Вынесите считывание из функции. Так будет записано исходное значение из span'а, и именно оно будет затем использоваться в функции. А так получается каждый раз при вызове функции вы считываете последнее значение, а не исходное.

Link to comment
Share on other sites

  • 0

Считывайте раньше объявления констант:


var usdCost = new Array();
usdCost[1] = document.getElementById('progr1').innerHTML;
var uah = 7.99;
var rur = 31.32;

Правда я не знаю почему так работает, а предыдущий вариант нет :mellow:

И кстати, можно использовать просто — вместо — .

Link to comment
Share on other sites

  • 0

вышло undefined


var uah = 7.99;
var arr = Array.prototype.map.call( document.querySelectorAll("span[class^=progr]"), function( elem ) {
return +elem.innerHTML * uah;
});
document.getElementById('progr1').innerHTML = arr[0];

Не досмотрел у меня не класс, а id стоял

Работает, но значения умножаются лишний раз. И если он вне функции значения в массиве не считываются. http://jsbin.com/ecupoq/18/

Edited by apexis
Link to comment
Share on other sites

  • 0

Сделал переменные валюты и массив глобальными, вынес массив из функции и все заработало. Только не понятно как вносить вытянутые данные обратно. можно внести их одной строчной, не прописывая каждый id. Как-то так?


document.getElementById('span[id^=progr]').innerHTML = arr * uah;

Edited by apexis
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