2012-05-22 1 views
0

У меня вопрос о массиве Javascript.Показать значение массива javascript в типе ввода скрыто

У меня есть следующий яваскрипт массив:

var startTimeList= new Array(); 

Я положил некоторые значения в нем. Теперь у меня есть следующий вход (скрытый тип):

<input type="hidden" value"startTimeList[0]" name="startTime1" /> 

Hoewever, это, очевидно, не правильно, потому что Java-массив не распознается во входном скрытом типа. Поэтому я даже не могу получить одну ценность.

Кто-нибудь знает, как я могу получить значение в типе ввода из массива javascript?

ответ

0

Вы должны установить значение из javascript. Что-то вроде document.getElementById (ID) .value = startTimeList [0];

Выполняется javascript из события выгрузки тела.

2

Вы должны установить значение в Javascript:

document.getElementById(...).value = startTimeList[0]; 
+0

Это не может работать поскольку на входе нет идентификатора, но это общая идея. Разумеется, решение состоит в том, чтобы добавить идентификатор, и это вообще лучше, чем просто использование имени. –

+0

Вы можете использовать document.getElementsByName ('yourName') [index_of_element] –

1

Используйте это:

<script> 
window.onload = function() { 
    document.getElementsByName("startTime1")[0].value = startTimeList[0]; 
} 
</script> 
+0

Почему this => document.getElementsByName ("startTime1") [0] .value выше? – verisimilitude

+0

Извините, но у меня нет вашего вопроса. Я использовал «имя», потому что OP не дал идентификатор его ввода. Но я уверен, что он будет использовать все многочисленные ответы, чтобы построить решение, которое ему нравится ... –

+0

Oh.Ok. Я просто не понял ваш синтаксис. Но, понял это сейчас. Спасибо :-) – verisimilitude

0

Вам нужно установить значение через сам JavaScript так.

document.getElementById("startTime1").value = startTimeList[0]; 

Или JQuery

$("#startTime1").val(startTimeList[0]); 

Присвоить "startTime1", как выше идентификатор.

+1

Это не может работать, поскольку на входе нет идентификатора, но это общая идея. –

+0

Да! Исправил мой пост. Благодарю. – verisimilitude

0

Вы можете найти свой элемент по имени с:

document.getElementsByName(name)[index].value = 'new value'; 

ИЛИ

Вы должны определить свой элемент, а затем изменить значение;

  1. Дайте элемент в ID, например id="ex"
  2. Получить элемент с JavaScript (конечно, как только DOM готов) с var element = document.getElementById('ex')
  3. Изменение значения с element.value = 'your value';
0

Вы 'd нужно разбить массив на строку с разделителями и затем присвоить эту строку значению скрытого ввода.

Затем на постбэка или аналогичных событий, которые вы хотели бы разобрать значение обратно в массив для использования в JavaScript:

var startTimeList = [1,2,3,4,5]; 
var splitList = ''; 
for(var i = 0; i < startTimeList.length; i++) 
{ 
    splitList += startTimeList[i] + '|'; 
} 

и обратно:

var splitList = '2|4|6|8|'; 
var startTimeList = splitList.split('|'); 
Смежные вопросы