0

在我的以下代码中:

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() 我试图找到一些合适的解决方案,但找不到任何解决方案。

谢谢

4

2 回答 2

0

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

于 2013-08-27T04:35:01.437 回答
0

换行

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

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

或者干脆

var $user = $('#user');// it must be unique
于 2013-08-27T04:34:44.897 回答