Backbone Marionette绑定问题

时间:2014-07-08 09:02:01

标签: jquery jquery-ui backbone.js marionette

在我的用户界面上,我有:

<div class='large-12 columns'>
  <div id="gritslider"></div>
  <input rows="3" id='grit' placeholder='Please enter' type='text' />
</div>

在Code中我有:

onShow: function () {

        $( "#gritslider" ).slider({
            range: true,
            min: 0,
            max: 500,
            values: [ 75, 300 ],
            slide: function( event, ui ) {
                $( "#grit" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
            }
        });
    },

滑块工作正常,它在碎石上显示。但是当我保存时,不会拾取并保存输入字段中的值(由jqueryui设置的相同值)。 假设我使用滑块设置值10-100,如果我在文本框中聚焦并手动更改它(将第一个更改为2)则会保存。

这是什么解决方案?

1 个答案:

答案 0 :(得分:0)

我发现我的问题的解决方案有效,但在某种程度上感觉就像是黑客。确实,我使用Backbone提供的set函数,但我希望绑定可以开箱即用......无论如何,解决我的特定问题:

onShow: function () {
        var that = this;
        $( "#gritslider" ).slider({
            range: true,
            min: 0,
            max: 500,
            values: [ 75, 300 ],
            slide: function( event, ui ) {
                debugger;
                that.model.set("grit", ui.values[ 0 ] + " - " + ui.values[ 1 ] )
                $( "#grit" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
                that.bindings.grit = "#grit";
                $("#grit").focus();
            }
        });
    },