Получить массив 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, время: 23:55. |