Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将文本字段动态转换为下拉列表?_Javascript_Dom_Cross Browser - Fatal编程技术网

Javascript 如何将文本字段动态转换为下拉列表?

Javascript 如何将文本字段动态转换为下拉列表?,javascript,dom,cross-browser,Javascript,Dom,Cross Browser,名字说明一切。我想使用javascript将文本字段元素更改为组合框。如果是跨浏览器,那就太好了 编辑:我可以使用jQuery,你想在客户端或服务器端更改它吗。如果客户端确实无法不使用某种javascript。您可以使用InnerHTML,但它不兼容所有浏览器(不兼容:NN4、OP5、OP6)诀窍是创建下拉元素并将其添加到表单中,同时删除文本字段。您可以使用如下HTML: <form id='myform'> ... <span id='textelement'

名字说明一切。我想使用javascript将文本字段元素更改为组合框。如果是跨浏览器,那就太好了


编辑:我可以使用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。