2008-12-13 1 views
0

Я хочу выбрать опцию в теге select через значение. - Javascriptвыберите параметры тега <select>, используя значение

var selectbox=document.getElementById("Lstrtemplate"); 
var TemplateName=selectbox.options[selectbox.selectedIndex].text; 

Теперь я имею текст опции в TemplateName, с помощью этого я хочу, чтобы обновить другое выберите тег, который оказывает тот же текст ..

Но не хотите использовать индекс или идентификатор ..

Хочет, чтобы достичь только значение

Пожалуйста, помогите мне

ответ

1

Попробую так:

var TemplateName = selectbox.options[selectbox.selectedIndex].value; 
1

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

Если да, то:

var selectbox=document.getElementById("temp1"); 
var selectbox2=document.getElementById("temp2"); 
selectbox2.value = selectbox.value; 

это держит temp2 синхронно с temp1, где TEMP1 и temp2 являются два выбора элементов.

0

Образец выше (selectobx2.value = selectbox.value) будет коррелировать 2 элемента выбора на основе значения, из вашего описания я думаю, что вы хотите скорректировать 2 элемента выбора на основе значения отображения или свойства текста.

К сожалению, для этого нет ярлыка, и вам нужно перечислить параметры самостоятельно, ищем вариант, чье текстовое свойство соответствует тому, которое вы ищете.

var selectbox=document.getElementById("Lstrtemplate"); 
var TemplateName=selectbox.options[selectbox.selectedIndex].text; 

var select2 = document.getElementById("SecondSelect"); 
for (optionElem in select2.options) 
    if (optionElem.text == TemplateName) 
    { 
     select2.value = optionElem.value; 
     break; 
    } 
+0

@Peter: добавьте перерыв, если вы нашли значение. Нет необходимости проходить через весь список: if (optionElem.text == TemplateName) {select2.value = optionElem.value; ломать; } – some 2008-12-13 18:20:04

Смежные вопросы