Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 当列表在主干中排序时,如何更新模型的order属性?_Jquery_Javascript Events_Backbone.js - Fatal编程技术网

Jquery 当列表在主干中排序时,如何更新模型的order属性?

Jquery 当列表在主干中排序时,如何更新模型的order属性?,jquery,javascript-events,backbone.js,Jquery,Javascript Events,Backbone.js,我有一个可排序的列表我没有使用jqueryui sortable,我自己在Backbone.js应用程序中编写了一个小列表。对于每个列表项,它的主干模型都有一个order属性,该属性保持其在列表中的顺序。每次对该列表进行排序时,我都希望更改每个已更改位置的列表项的“顺序”属性。但问题是,我不知道如何检测排序操作。可能在正在拖动的项目模型中很容易检测到此操作,但由于此项目移动时其他项目的位置将受到影响,如何在这些项目模型中检测排序操作,并随后更改其顺序属性 当您通过拖动更改列表中项目的位置时,或者

我有一个可排序的列表我没有使用jqueryui sortable,我自己在Backbone.js应用程序中编写了一个小列表。对于每个列表项,它的主干模型都有一个order属性,该属性保持其在列表中的顺序。每次对该列表进行排序时,我都希望更改每个已更改位置的列表项的“顺序”属性。但问题是,我不知道如何检测排序操作。可能在正在拖动的项目模型中很容易检测到此操作,但由于此项目移动时其他项目的位置将受到影响,如何在这些项目模型中检测排序操作,并随后更改其顺序属性

当您通过拖动更改列表中项目的位置时,或者您可以绑定到的事件是否触发?如果没有别的,如果你拖动它们,也许你可以绑定到mouseup。这些模型是收藏吗?或者您可以从DOM元素访问主干视图对象吗

也许是这样的。这假设您已使用jQuery.data将主干视图对象存储在视图对象属性中,并且已将相应的模型作为选项对象的模型属性传递给视图构造函数

var Item_View = Backbone.View.extend( {

  initialize : function ( options ) {

    this.$el.data( 'view_object', this );

  },

  events : {

    "mouseup" : function () {

      $( "#items .item" ).each( function ( index ) {

        $( this ).data( 'view_object' ).model.set( 'order', index );

      } );

    }
    // "mouseup"

  }
  // events

} );


var model = new Item_Model( {} );

var view = new Item_View( {

  model : model

} );

您编写了排序代码。。。。。你不是唯一一个回答这个问题的人吗?@asawyer但我的排序代码只是为了改变视图。这与模型无关。所以我想知道的是,当视图改变时,如何改变相应模型的属性。@chaonexto或者视图总是反映对模型的改变。控制器实际上应该更改模型的属性。这里是视图中的事件。顺便说一句,我没有使用jqueryui sortable,我自己写了一个小的,但问题是,我不知道如何检测排序行为,你完全违背了你所说的。要么排序插件不完整,要么您对排序插件中发生的事情不太了解