【问题标题】:Recloning an object if the object cloned changes如果克隆的对象发生更改,则重新克隆对象
【发布时间】:2015-08-21 00:51:15
【问题描述】:

我正在开发一个定价应用程序,它有很多工作要做,页面的不同部分是从不同的脚本模板加载的,即主干加载到 PHP 模板中。

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

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

并插入到正确的位置。但是,每当 .price 值更新时,我也需要在新位置更新它。这个值经常更新,因为这是一个定价应用程序,会随着每个用户输入而更新。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 感谢您的意见,但这无济于事。每当从前端的更新中克隆的值时,我都需要更新克隆的值

标签: javascript jquery html clone watch


【解决方案1】:

尝试利用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>

【讨论】:

  • 感谢您的帮助,但这不起作用。当克隆的原始值发生变化时,克隆的元素不会更新
  • @user3633970 "感谢您的帮助,但这不起作用。当克隆的原始值发生变化时,克隆的元素不会更新" 可以包括@987654328 @在问题? , 创建 stacksn-ps , jsfiddle jsfiddle.net 演示?
猜你喜欢
  • 1970-01-01
  • 2011-11-07
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 2017-02-11
  • 2011-07-10
相关资源
最近更新 更多