0

我创建了一个小的 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;
}

但它给了我输出“未定义”。我也尝试过“文本”,但没有成功。我需要做什么才能达到我的目标?

谢谢你的帮助!

4

2 回答 2

0

这个怎么样:

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

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

于 2013-02-24T19:18:47.733 回答
0

您可以将“某物”作为值。您在这里使用“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;
于 2013-02-24T19:23:14.357 回答