Получить массив value из input
Привет, братцы! От чего не удаётся получить массив элементов <input> и тут же переписать его на значения value в них? Можно ли в данном случае обойтись одним массивом?
q=document.getElementsByName("as"); for (var i=0; i<q.length; i++){ q[i]=parseInt(q[i].value); } alert(q); //хочецца 6,7 <input value="6" name="as"> <input value="7" name="as"> |
for (var i = q.length-1; i >= 0; i--){ q[i].outerHTML = parseInt(q[i].value); } Или если имеется ввиду то, что надо сделать массив из значений инпутов, то создавай массив и клади в него значения, потому что q - это не массив, а nodeList. |
getElementsBy возвращает не массив, а массиво-подобный объект NodeList, причём живой(при удалении\добавлении элементов он изменится автоматически). Так что вам придётся заводить отдельный массив, либо приводить NodeList к массиву:
q = Array.prototype.slice.call(document.getElementsByName("as")); |
Прикольно, братцы, спасибо!
|
var q = Array.map(document.getElementsByName("as"), function (item) { return parseInt(item.value, 10); });Только нужен Array.map:) А так, по старинке: var q = Array.prototype.map.call(document.getElementsByName("as"), function (item) { return parseInt(item.value, 10); }); |
Sweet, думается мне что раз уж есть Array.prototype.map то и Array.map должен быть.
|
Aetae, Chrome 34:
Array.map === undefined // true |
Цитата:
|
Дженерики типа Array.map, Array.filter и т.д. есть только в Firefox
|
Цитата:
|
Часовой пояс GMT +3, время: 05:00. |