【问题标题】:has no method 'replace' jquery error没有方法'replace' jquery 错误
【发布时间】:2012-10-07 11:24:46
【问题描述】:

我得到以下 js 代码,它在控制台中出错,我不太确定自己做错了什么。基本上我正在尝试获取字段列表,以便我可以进行一些计算。

var LabourItems = {
    rate: null,
    hours: null,
    total: null,
    init: function(object) {
        var rate = $(object).children('.rate').first();
        var hours =$(object).children('.hours').first();
        total = rate * hours;
        updateTotal(object,total);
    },
    updateTotal: function(object,  total) {
        $(object).children('.total').first().attr('value', total)
    }
}

//reactTochange for those inputs that you want to observe
$('.hours').live(function() {
    var labourItems;

    jQuery.each($('.labouritems'), function(key,value){
        labourItems.push(LabourItems.init(value));
    });

});

控制台错误:

Uncaught TypeError: Object function () {
    var labourItems;

   jQuery.each($('.labouritems'), function(key,value){
       labourItems.push(LabourItems.init(value));
   });

} has no method 'replace'

【问题讨论】:

  • 有人问过类似的问题:hereherehere
  • 我明白了,那么我应该将 .join 放在我的代码哪里?

标签: javascript jquery


【解决方案1】:

live 需要一个事件类型,例如。 click.

它把函数当作事件字符串处理,这让他很困惑。

$('.hours').live(function() { /*... your code ...*/})    // wrong

需要:

$('.hours').live("click", function() { /*... your code ...*/})    // works

【讨论】:

  • 成功了,不知道为什么我的问题被否决了,它与链接的问题不同。
  • 会要求我再做 2 分钟,现在当我单击链接到它的字段时,它说未定义 UpdateTotal。
  • 这意味着您的live 现在可以工作了,但您还有另一个问题。在发布问题之前尝试对其进行故障排除。
猜你喜欢
  • 2011-08-19
  • 2016-05-23
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 1970-01-01
  • 2020-01-16
  • 2012-09-15
  • 2018-04-05
相关资源
最近更新 更多