массивы javascript - PullRequest
       2

массивы javascript

1 голос
/ 03 августа 2011

У меня есть два три текстовых поля.

<input type="text" name="test" value="100" />
<input type="text" name="test" value="250" />

<input type="text" name="totalList" value="" />

Я хотел бы, чтобы текстовое поле totalList содержало все значения текстовых полей до разделения через запятую, поэтому его значение будет 100, 250. Причина в том, что он находится в массиве, потому что я собираюсь извлекать из базы данных, и я не знаю, сколько их будет, я просто знаю, что у них будет цена.

Заранее спасибо, ребята.

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Используйте метод array.join.

var elements = document.getElementsByName("test");
var values = new Array();
for(var i = 0; i < elements.length; i++) 
    values.push(elements[i].value);

document.getElementsByName("totalList")[0].value = values.join();

http://jsfiddle.net/UqUMs/7/

0 голосов
/ 03 августа 2011

Переберите массив (из текстовых полей), создайте строку значений, разделенных запятыми, и задайте ее как значение текстового поля total:

var textboxes = document.forms[formName].elements["text"];
var commaSeparatedStr = "";
for(var i=0; i<textboxes.length; i++)
{
   commaSeparatedStr+= textboxes[i].value;
}
document.forms[formName].elements[totalList].value = commaSeparatedStr;

И вызывайте этот код всякий раз, когда захотите: body.onload, по нажатию кнопки, (если текстовые поля могут быть добавлены динамически) при динамическом добавлении / удалении текстового поля и т. д.

Я дал решение javascript, потому что вы пометили так.В зависимости от того, можно ли добавлять текстовые поля динамически или нет, вы также можете сделать это на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...