【问题标题】:jQuery data() is not working properlyjQuery data() 无法正常工作
【发布时间】:2013-08-27 04:25:17
【问题描述】:

在我的以下代码中:

addUserHandler: function () {
    var $user = this.$('#user');
    if (($user.val().length > 0) && ($user.val() === $user.data('name'))) {
        this.addUser($user.data());                                                                                                                                                                                                                                       
    } 
    $user.val('');
    return false;
}

当我添加第一个用户,然后如果我从 autocomplete 文本字段中选择另一个用户,它实际上会用新的数据替换之前选择的项目的数据。因此,始终将所有先前选择的项目替换为最后一个。

我使用的是 jQuery 2.0,这个问题在我从 jQuery 1.9 更新后开始出现。

任何人都知道 jQuery 最近对 $.data() 所做的任何更改我试图找到一些合适的解决方案,但找不到任何解决方案。

谢谢

【问题讨论】:

  • ID 是唯一的,所以只能有一个$('#user')
  • 这是什么:var $user = this.$('#user');,我觉得不合适。

标签: javascript jquery jquery-data


【解决方案1】:

换行

var $user = this.$('#user');

var $user = $(this).find('#user');

或者干脆

var $user = $('#user');// it must be unique

【讨论】:

  • 您使用的是哪个browser
  • Chrome 版本 29.0.1547.57 m
【解决方案2】:

var $user = this.$('#user'); 这个值保持不变,无论你在哪里使用它,它都会显示相同的值...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-15
    • 2015-11-13
    • 2011-07-24
    • 1970-01-01
    • 2021-06-16
    • 2015-12-14
    • 2015-11-13
    相关资源
    最近更新 更多