使用javascript访问下拉列表的选定选项

时间:2013-02-24 19:09:27

标签: javascript html

我创建了一个小JS函数,它检查输入字段的值并将它们放在表单上:

function insertText()
{
result = document.new_link['link[link]'].value;
document.getElementById("link-link").innerHTML=result;
}

工作精湛。 (new_link是表单的名称)

现在我对选择下拉菜单做了同样的事情:

<select name="link[link_category]">
<option value="1">Something</option>
</select>


function insertText2()
{
result = document.new_link['link[link_category]'].value;
document.getElementById("link-category").innerHTML=result;
}

这里的结果是我不喜欢的值“1”。我想要输出“Something”,以便选择它时选项的内容是什么。

我试过了:

function insertText2()
{
result = document.new_link['link[link_category]'].content;
document.getElementById("link-category").innerHTML=result;
}

但是它给了我输出“undefined”。我也试过“文字”但没有成功。 我需要做些什么来实现我的目标?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

这个怎么样:

function insertText2()
{
   var dropdown = document.new_link['link[link_category]'];
   var selOption = dropdown[dropdown.selectedIndex];
   document.getElementById("link-category").innerHTML=selOption.innerHTML;
}

所以你抓住了下拉元素。然后找出所选索引并使用它来获取实际选定的选项。一旦你有了它,你就可以显示innerHTML,它应该是你所追求的价值。

答案 1 :(得分:0)

您可以将“Something”作为值。你有没有理由在这里使用“1”?

<select name="link[link_category]">
    <option value="Something">Something</option>
</select>

单个选项元素可用作HTMLCollection:

document.new_link['link[link_category]'].childNodes
    OR
document.new_link['link[link_category]'].options

当前选择的选项可用作索引:

document.new_link['link[link_category]'].selectedIndex

所选选项的“标签”可在以下网址找到:

var selectElement = document.new_link['link[link_category]'];
selectElement.options[selectElement.selectedIndex].innerHTML;