如何获取用户输入数据的值?

Jas*_*n D 19 backbone.js

假设我有一个网站,其中包含一些字段,我想对其进行一些计算.我有一个数量输入,并在我的backbone.js视图中我将"更改"事件绑定到此输入.

如何获取输入字段的更改值?

我发现这个方法(下面)获取值,但感觉不对,因为我必须在我的函数中再次知道元素ID.例如,我不能用课来做这件事.

window.Calculations = Backbone.View.extend({

    (...)

    events: {
        'change input#quantity': 'changeQuantity'
    },


    changeQuantity: function() {
        var val = $(this.el).find('input#quantity').val();
        this.model.set({'quantity': val});
    }

});
Run Code Online (Sandbox Code Playgroud)

在HTML中:

<input type="text" id="quantity" value="<%= quantity %>">
Run Code Online (Sandbox Code Playgroud)

我接近这个吗?是否有一个变量可以访问已更改的对象?我知道$(this.el)不是它,它只是容器.

Ati*_*nux 23

jQuery向event您的函数发送一个对象changeQuantity.有了它,您可以检索更改的输入.

window.Calculations = Backbone.View.extend({

    //(...)

    events: {
        'change input#quantity': 'changeQuantity'
    },


    changeQuantity: function(e) {
        var val = $(e.currentTarget).val();
        this.model.set({'quantity': val});
    }

});
Run Code Online (Sandbox Code Playgroud)

我创建了一个jsfiddle作为例子:http://jsfiddle.net/tz3XS/138/