вставьте текстовое поле из значений на экране с помощью JavaScript - PullRequest
0 голосов
/ 13 сентября 2011

как я могу использовать значения из кода ниже:

 <html:select property="state" > 

 <html:option value="0">Select State</html:option> 

 <html:optionsCollection name="InputForm" property="stateList" label="label" value="value" /> 

 </html:select>

, чтобы заполнить текстовое поле любым выбранным значением для состояния с событием onchange javascript onchange?Например, если Техас является выбранным штатом, я хочу, чтобы Техас был записан в текстовом поле, и если я изменил значение на Колорадо, я бы хотел, чтобы Колорадо и Техас оба отображались в текстовом поле.В настоящее время я получаю неопределенное значение в текстовом поле.Я использую следующий код JavaScript:

   function displayState(obj, state) {
    var theId = obj.id.substring(obj.id.indexOf('_') + 1);        
    var text = document.getElementById('text' + '_' + theId);
    var textVal = text.value;

    var stateSelect = document.getElementById('stateCode' + '_' + theId);
    var stateSelectStr = new String(stateSelect.value);
    var stateSelectSplit = stateSelectStr.split(',');
    var stateSelectValue = stateSelectSplit[0];
    var stateSelectLabel = stateSelectSplit[1];

    if (stateSelectValue == '51') {
            stateSelectLabel = '';
    }
    if (stateSelectValue != '00') {
            textVal = textVal != '' ? eval('text.value=\'' + textVal + ', '
                            + stateSelectLabel + '\'')
                            : eval('text.value=\'' + stateSelectLabel + '\'');
    }

  } 

1 Ответ

0 голосов
/ 13 сентября 2011

Прежде всего, начните использовать jQuery (или эквивалент), это сделает вашу жизнь намного проще.Во-вторых, почему вы используете eval?У вас уже есть текстовый элемент;просто создайте соответствующую строку и установите значение. См. Здесь пример.

Но опять же, использование чего-то вроде jQuery делает это смехотворно простым - я не могу рекомендовать использовать библиотеку для таких простых манипуляций с DOM, как это.

Смотрите здесь сравнение необработанных JS и JQ.

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