Javascript 如何将文本字段动态转换为下拉列表?
名字说明一切。我想使用javascript将文本字段元素更改为组合框。如果是跨浏览器,那就太好了Javascript 如何将文本字段动态转换为下拉列表?,javascript,dom,cross-browser,Javascript,Dom,Cross Browser,名字说明一切。我想使用javascript将文本字段元素更改为组合框。如果是跨浏览器,那就太好了 编辑:我可以使用jQuery,你想在客户端或服务器端更改它吗。如果客户端确实无法不使用某种javascript。您可以使用InnerHTML,但它不兼容所有浏览器(不兼容:NN4、OP5、OP6)诀窍是创建下拉元素并将其添加到表单中,同时删除文本字段。您可以使用如下HTML: <form id='myform'> ... <span id='textelement'
编辑:我可以使用jQuery,你想在客户端或服务器端更改它吗。如果客户端确实无法不使用某种javascript。您可以使用InnerHTML,但它不兼容所有浏览器(不兼容:NN4、OP5、OP6)诀窍是创建下拉元素并将其添加到表单中,同时删除文本字段。您可以使用如下HTML:
<form id='myform'>
...
<span id='textelement'>text goes here</span>
<input type='button' value='change text to dropdown' onclick='change()'/>
...
</form>
function change() {
var _form = document.getElementById('myform');
var _text = document.getElementById('textelement');
_form.removeChild(_text);
var _combo = document.createElement('select');
_combo.setAttribute('size', '1');
_combo.setAttribute('id', 'dropdownelement');
_form.appendChild(_combo);
_combo = document.getElementById('dropdownelement');
//add first value to the dropdown
var _opt = document.createElement('option');
_opt.text = 'New option 1';
_opt.value = '1';
_combo.add(_opt);
//add second value to the dropdown
_opt = document.createElement('option');
_opt.text = 'New option 2';
_opt.value = '2';
_combo.add(_opt);
...
}
请注意,我还没有测试这段代码-仅将其用作起点。很有趣。到目前为止你试过什么?你被困在哪里了?我不认为你能在Lynx或好的“ole”telnet端口80中做到这一点。。。或者NCSAMosaic或者Netscape1.x…为什么不使用jQuery呢?我从来没有听说过不使用jQuery作为requirement@FelixKling:我试过:document.getElementById('myElement')。type='selectone';在
上,select one
甚至不是type
的有效值。OP想使用Javascript,但不是jQuery。他只说他不想使用jQuery。