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

时间:2015-09-26 18:09:28

标签: javascript jquery

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

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>

1 个答案:

答案 0 :(得分:2)

您需要在新创建的元素上委派事件。所以,你需要做的是,而不是: $('#arithmetic'+ counter).change(function(e) 将其更改为: $(“#container”)。on(“change”,“#algorithm”+ counter,function(e) 还有一些错误...... 更换: $(使用document.createElement( 'DIV')) 附: $(“&lt; div /&gt;”) 删除&lt; center&gt;标签。