我正在创建一个动态添加的输入表单。我想这样做,以便当输入失去焦点时,将其值附加到.00后面。到目前为止,我已经尝试过了:

$(".money-input").on("click", function(e) {
  e.stopPropagation();
});

$(document).on("click", function (e) {
  $(".money-input").each(function() {
    var valTemp = $(this).val();
    if ((valTemp.indexOf(".00") < 0) && (valTemp != "")) {
      valTemp += ".00";
      $(this).val(valTemp);
    }
  });
});


我的问题是,仅当我单击其他div但输入时,它才起作用。另外,我还想实现的是,当我在一个输入上编辑内容,然后将焦点切换到其他输入时,先前的输入值由.00附加。

任何帮助表示赞赏! :)

最佳答案

利用

$(".money-input").live('blur', function() {
    var valTemp = $(this).val();
    if ((valTemp.indexOf(".00") < 0) && (valTemp != "")) {
        valTemp += ".00";
        $(this).val(valTemp);
    }
});


blur是您的“迷失焦点”事件。使用live会将事件附加到现在和将来存在的元素上(因为您正在动态添加表单)。

10-06 05:26