javascript - 每次我在 jQuery 中更改新创建的选择框的值时如何添加新的选择框?

标签 javascript jquery

当我从选择框选择一个值时,我试图添加一个新的数字输入和一个复选框。在我添加一个选择框之后,选择框应该添加一个新的选择框。 我不知道我的代码有什么问题。 提前致谢。

var counter = 1;
$(document).ready(function(){

  $('#arithmetic' + counter).change(function(e)
                                    {
    counter++
    if( $('#arithmetic' + counter ).val() == '+' || '-' || '*' || '/'  || '%' )
    {

      var newTextBoxDiv = $(document.createElement('div'))
      .attr("id", 'TextBoxDiv' +counter);
      newTextBoxDiv.html('<input type="number" name="input' + counter + ' "  id="input' + counter + '" value="" > \

<select id="arithmetic' + counter + '" >\

<option id="select" value="Select" selected>Select</option>\

<option id="add" value="+">+</option><option id="subtract" value="-">-</option>\

<option id="multiply" value="*">*</option><option id="division" value="/"></option>\
<option id="percentage" value="   %">%</option></select>');


      newTextBoxDiv.appendTo("#container center");
    }
  });


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<div id="container">
  <center>
    <div id="TextBoxDiv1">
      <input type="number"/>
      <select id="arithmetic1">
        <option id="select" value="Select" selected>Select</option>
        <option id="add" value="+">+</option>
        <option id="subtract" value="-">-</option>
        <option id="multiply" value="*">*</option>
        <option id="division" value="/">/</option>
        <option id="percentage" value="%">%</option>
      </select>
    </div>
  </center>

</div>

最佳答案

您需要delegate the events在新创建的元素上。所以,你需要做的是,而不是:

$('#arithmetic' + counter).change(function(e)

将其更改为:

$("#container").on("change", '#arithmetic' + counter, function(e)

还有一些错误...

  1. 替换:

    $(document.createElement('div'))
    

    与:

    $("<div />")
    
  2. 删除 <center>标签。

关于javascript - 每次我在 jQuery 中更改新创建的选择框的值时如何添加新的选择框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32800361/

相关文章:

javascript - 文本之间具有相等间距的行内 block 列表。

javascript - 如何使用 javascript 查询 AJAX 导入表(而不是本地表)

javascript - 如何使用 JQuery 将检索到的无序列表的 <li> 元素放在另一个无序列表的末尾?

javascript - 图表.js 2.0 : How to change title of tooltip

javascript - 如何根据贡献百分比计算前3名贡献者的领奖台高度?

javascript - 如果存在,则从数组中删除一个值,如果不存在,则将其推送到数组

javascript - jQuery有collect方法吗

jQuery-UI::如何提高拖动速度?

javascript - 在 Highcharts 中更改图表类型时修复/折扣数据系列

javascript - SAPUI5 表将操作绑定(bind)到图标模板