如果克隆的对象发生变化,则重新克隆对象

Recloning an object if the object cloned changes

本文关键字:对象 新克隆 变化 如果      更新时间:2023-09-26

我正在研究一个定价应用程序,该应用程序有很多正在进行中,页面的不同部分从不同的脚本模板加载,即骨干加载到PHP模板中。

我有一个动态更新用户总余额的边栏。在移动设备上,侧边栏隐藏在下拉菜单中。长话短说,我已经将html"price"值克隆到页面上的另一个位置,并且需要它在原始(隐藏)值更新时进行更新。我克隆了这个值,像这样:

            $(window).bind("load", function() {
                $('#quote_scrollbox .price').clone().insertAfter('.specifications-toggle img');
            });

并插入到适当的位置。但是,每当.price值更新时,我也需要在其新位置更新它。这个值经常更新,因为这是一个定价应用,每次用户输入都会更新。有人能在这个问题上给我一些帮助吗?

尝试使用input事件,.filter()匹配与当前元素值不相同的元素,.val(function(index, val) {})设置每个input元素为当前元素值

$(window).bind("load", function() {
  var input = $(".price");
  var clone = input.clone(true, true);
  clone.insertAfter("div");
  $(".price").on("input", function(e) {
    var elem = e.target;
    $(".price").filter(function(i, el) {
      return el.value !== elem.value
    }).val(function(i, val) {
      return elem.value
    });
  })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="price" />
<div></div>