2008-12-13 74 views
0

我想通过该值在选择标记中选择一个选项。 - JavaScript的使用值选择<select>标记选项

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

现在我有在TEMPLATENAME选择文本,使用此我想更新的另一种选择标签,该标签具有相同的文字..

但不想使用索引或ID ..

想只实现价值

请帮我

回答

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