javascript - 如何在更改时更改克隆元素的值

标签 javascript jquery

我将 onchange 函数设置为表行中的选择输入, 我克隆并附加了单击按钮时的行。克隆不响应设置的 onchange 函数。这是到目前为止的代码

<!-- clone and append function-->

$("button").click(function() {
  var clone = $('#item_row').clone();
  $('#item_row').after(clone)    
});    

$('#quantity').change(function() {
  $('.price').text($('.price').val() * $(this).val())
})
<html>
  <body>
    <table>
      <thead>
        <tr id="item_row">
          <td>
            <select id="quantity">
              <option>1</option>
              <option>2</option>
              <option>3</option>
            </select>
          </td>
        </tr>
        <tr>
          <td>
            <p class="price">20,000</p>
          </td>
        </tr>
      </thead>
    </table>
    <button>Fetch Row</button>
  </body>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</html>


<!-- begin snippet: js hide: false console: true babel: false -->

最佳答案

有几个问题。

首先使用.on如

$(document).on('click', '. quantity', function () {
    // do stuff here
});

其次,由于没有唯一标识符,js如何知道您要更改哪个数量选择?您必须使用 rel="unique_id"添加一个并保持运行计数以添加到克隆的行。

第三,不要使用 ID="quantity"使其成为一个类,因为您将拥有多个类

关于javascript - 如何在更改时更改克隆元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081173/

相关文章:

javascript - 在 jQuery 中选择第 n 个 div(及以后)

javascript - Ui-router URL 更改,嵌套 View 未加载

javascript - 跨域 AJAX(飞利浦 Hue Lights)

javascript - 我的元素甚至在用户点击它触发功能之前就不断显示(点击功能)

javascript - Chrome 似乎报告错误的错误行

javascript - JS 代码仅在第一组文本上将行换行,对其余文本不执行此操作

javascript - 更改其他 div 中的高度后,我的固定边栏 float 在页脚上方

jQuery 对话框 moveToTop 问题

javascript - JavaScript 函数声明是否返回对函数的引用?

javascript - 循环日期并添加对象(如果 JSON 数据中不存在)