使用 select 更改输入文本

Change a input text with select

当我的条件成功时,我正在尝试使用 mootools 将文本 input 更改为 select 列表。问题是当我使用函数 replaces() 时,它不起作用。

window.addEvent('domready', function(event) {
  $('id_x').addEvent('change', function() {
    var idTypeParam = $('param').getSelected().get('value');
    if (idTypeParam == '1') {
      var tmpDiv = new Element('select', {
        html: '<select id="txtQuantity" name="txtQuantity" class="ProductDetailsQuantityTextBox">' +
          '<option value="1">1</option>' +
          '<option value="2">2</option>' +
          '<option value="3">3</option>' +
          '<option value="4">4</option>' +
          '<option value="5">5</option>' +
          '</select>'
      });
      tmpDiv.replaces($('myoldDiv'));
    }
  });
});
window.addEvent('domready', function(event) {
  $('id_x').addEvent('change', function() {
    var idTypeParam = $('param').getSelected().get('value');
    if (idTypeParam == '1') {
      document.getElementById("myoldDiv").innerHTML = '<select id="txtQuantity" name="txtQuantity" class="ProductDetailsQuantityTextBox">' +
          '<option value="1">1</option>' +
          '<option value="2">2</option>' +
          '<option value="3">3</option>' +
          '<option value="4">4</option>' +
          '<option value="5">5</option>' +
          '</select>';
    }
  });
});

或者您可以使用 $("myoldDiv").html("")

您可以将 'option' 类型的新子项附加到 select

const select = new Element('select');
for (let i = 1; i <= 5; i++)
  select.adopt(new Element('option', {
    html: 'Dynamic Option ' + i,
    value: i
  }));
select.replaces(document.id('myolddiv'));