我创建了一个小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”。我也试过“文字”但没有成功。 我需要做些什么来实现我的目标?
感谢您的帮助!
答案 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;