如何让我的选择列表填充来自用户输入的新选项?
到目前为止,这是我的 JS:
<script type="text/javascript">
function show_prompt() {
var name = prompt('Please enter new origin');
if (name != null && name != "") {
var select = document.getElementById("OriginSelect");
select.options[select.options.length] = new Option('Text 1', 'Value1');
}
}
这是正文下方的 HTML\Coldfusion:
<p class="_30NP" align="right">
<label>Origin </label>
</p>
<p class="_20NP">
<cfselect name="OriginSelect" id="OriginSelect" query="Origin" display="description" value="code" required="yes">
<option id="new" value="new" onClick="show_prompt()">New Origin</option>
</cfselect>
</p>
<a href="#" onClick="show_prompt()">New Origin</a>
所以基本上,列表是从数据库中填充的,但是当没有合适的 Origin 可用时,用户可以单击 href 并出现一个带有文本字段的提示框(这很好用)。然后用户可以输入他喜欢的任何内容,然后 JS 脚本将新元素添加到标签中。
但是,在用户输入文本并执行“确定”时点击“确定”后,它不会执行任何操作。Chrome 中的 javascript 调试器也没有显示任何有用的信息,也没有标记任何错误或任何内容。
它是一个 cfselect 的事实是一个问题吗?我自己手动添加了一个选项(id="new"),它显示得很好。
编辑:好的,这不是 cfselect 的错。我把它变成了一个普通的选择框,它仍然不起作用..