我希望用户能够选择一个选项,并且能够在单击“重命名”按钮时重命名它。
我正在尝试通过input type = "text"
在 selected中嵌套一个option
. 但是,中的onblur
事件input
不起作用......
似乎select
不允许在里面嵌套 HTML 元素option
,但它的功能是理想的......我可以用什么结构来实现这样的东西,一个无序列表?
这是HTML:
<select id = "asdf" size = "2">
<option>asdf</option>
<option>qwerty</option>
</select>
<input type = "button" value = "rename" onclick = "rename();" />
...这里是 javascript/jQuery:
function rename() {
if ($("#asdf").length > 0) {
var selectedText = $("#asdf").find(":selected").text();
var selectedIndex = $("#asdf").find(":selected").index();
var options = document.getElementById("asdf").options;
options[selectedIndex].innerHTML =
"<input type = 'text' id = 'field' onblur = 'setField(this.value);'" +
"value = '" + selectedText + "' />";
function setField(newName) {
options[selectedIndex].innerHTML = newName;
}
}
}