【发布时间】:2014-09-13 20:28:25
【问题描述】:
div 的文本需要成为生成的选择下拉菜单的选定选项。我成功地创建了下拉列表并替换了 div,但是为设置所选选项而给出的值没有被选中。
下面是我如何获取 div 值以及如何创建下拉列表
<script type="text/javascript">
var d = document.getElementById("val_to_set");
var rvalue = d.innerHTML; //Getting the value of div
//The options of a dropdown are populated from another dropdown menu
var listOptions = document.getElementById("dropdown");
var newddown = '<select name="displayoption">'+listOptions.innerHTML+'</select>';
//Replace the div with the created dropdown menu
d.innerHTML = newddown; //TARGET ELEMENT
</script>
我发现这个链接解释了如何按值、文本或索引进行选择
[1]http://www.daftlogic.com/information-programmatically-preselect-dropdown-using-javascript.htm
当尝试获取新创建的下拉菜单的选项时,我得到“选项未定义”
新的下拉菜单不会选择给定的选项 - 我已经尝试了给定链接中的所有情况,包括在将 div 替换为下拉菜单之前添加以下行。
var seeker = ">"+rvalue+"<";
newddown = newddown.replace(seeker, "selected"+seeker);
我做错了什么?我是 jQuery 的初学者,我想坚持使用 JavaScript。
已编辑 - 包含用于填充目标元素选项的下拉列表
<select id="dropdown" name="listedoptions" >
<?php
echo " <option value=''></option> \n";
$ores = sqlStatement("SELECT option_id, title, is_default FROM list_options" .
" WHERE list_id = 'adjreason' ORDER BY seq, title");
while ($orow = sqlFetchArray($ores)) {
echo " <option value='" . $orow['option_id']). "'";
echo ">" . $orow['title'] . "</option>\n";
}
?>
</select>
【问题讨论】:
-
请问您能否包含目标 html 的标记?
-
我编辑了内容以包含目标元素 d.innerHTML = newddown;
-
您正在获取“选择”的内部HTML(仅“选项”列表)。如果菜单应该像普通的“选择”对象一样可选择,也许您应该获取外层HTML,以便包含“选择”对象。
标签: javascript