Javascript 更改输入文本以选择选项&;反之亦然

Javascript 更改输入文本以选择选项&;反之亦然,javascript,Javascript,我有两个按钮。在第一个按钮单击时,我需要将输入文本类型更改为选择框&在第二个按钮单击时,通过Javascript将选择框更改为输入文本类型。谢谢 非常感谢@JoshMein、@Bergi、@Rocket为您提供的时间和建议。这对我帮助很大。我也尝试了以下不同的方法 &1此外,小于8或8的IE版本不支持setAttribute()。为什么要这样做?你会在选择框中添加哪些选项/@JoshMein,我有“疾病”选择框。当我选择像“肥胖”这样的疾病时,输入类型必须更改为文本&当我选择像“抑郁症”这样的

我有两个按钮。在第一个按钮单击时,我需要将输入文本类型更改为选择框&在第二个按钮单击时,通过Javascript将选择框更改为输入文本类型。谢谢

非常感谢@JoshMein、@Bergi、@Rocket为您提供的时间和建议。这对我帮助很大。我也尝试了以下不同的方法



&1此外,小于8或8的IE版本不支持setAttribute()。

为什么要这样做?你会在选择框中添加哪些选项/@JoshMein,我有“疾病”选择框。当我选择像“肥胖”这样的疾病时,输入类型必须更改为文本&当我选择像“抑郁症”这样的疾病时,输入类型必须更改为选择框,选择框内填充有“不再、受控、可容忍、严重”值。@Bergi,Rocket var obj=document.getElementById('disease1CurrentValue');obj.setAttribute('type','text');你不能那样做。
元素不是
元素,因此没有
类型
属性(我70%确定,一旦
位于DOM中,就不能更改该属性)。一种方法是制作这两种类型的元素,并在必要时显示/隐藏它们。为什么不同时制作这两种元素,并根据需要隐藏和显示它们呢?
function changeToText() {
  var obj = document.getElementById('disease1CurrentObject');
  document.getElementById('divDisease1Current').removeChild(document.getElementById(obj));
  var element = document.createElement('input');
  element.setAttribute('type', 'text');
  element.setAttribute('value', 'myVal');
  element.setAttribute('id', 'myId');
  document.getElementById('divDisease1Current').appendChild(element); 
}
function changeToSelect() {
  var obj = document.getElementById('disease1CurrentObject');
  document.getElementById('divDisease1Current').removeChild(obj));
  var element = document.createElement('select');
  element.setAttribute('type', 'text');
  element.setAttribute('value', 'myVal');
  element.setAttribute('id', 'myId');
  document.getElementById('divDisease1Current').appendChild(element);
}