2010-05-31 59 views
2

我希望能够通过单击或使用套索来取消选择所选项目,就像在Photoshop中,我保留另一个关键字以“取消”现有选择的部分。jQuery Selectable - 通过单击取消选择单个元素 - 这可能吗?

这可能吗?

据我了解“jQuery UI可选”。只有“单击”或不用CTRL添加多个然后快速套索。

我想看看如何通过再次单击它们来取消选择整个选择的一个或两个元素。

例如,您拖动套索并获得30个元素,但发现1不需要成为此选择的一部分。你点击它并取消选择它。

因此,对现有选择做出反应并移除选定元素。

或与套索,你做一个套索选择。获取30个元素。然后,您绘制一个新的套索,这次从一个已经选定的元素开始,现在它默认取消选择,其余的组标记。

我相信这应该是jQueryUI的自定义行为,如果有的话。

但是,“单一取消”可能与一个简单的jQuery黑客或将需要大量的代码?

回答

0

看来我可以并将需要修改Selectable来自己做这件事。

我发现尼古拉斯鲁达什这个例子(?):http://nicolas.rudas.info/jquery/selectables_sortables/

$(function() { 
     $("#selectable") 
      .selectable({ 
       autoRefresh: false, 
       stop: function(e,ui){ 
        $(this).selectable('refresh'); 
       }, 
       noConflict : false 
      }) 
      .sortable({ 
       opacity:'0.5', 
       cursor: 'move', 
       zIndex: 5, 
       helper : 'clone', 
       forcePlaceholderSize : true, 
       stop : function(){ 
        $("#selectable").selectable('refresh'); 
       } 
      }) 


     $('#noConflict').toggle(function() { 
      $(this).text('Disable \'noCoflict\''); 
      $("#selectable").selectable('option','noConflict',true).selectable('refresh'); 
     }, 
     function() { 
      $(this).text('Enable \'noCoflict\''); 
      $("#selectable").selectable('option','noConflict',false).selectable('refresh'); 


     }); 

    }); 

他表示,他是如何使我们所期待的功能。他还介绍了他所解决的一些问题。我现在会更彻底地查看他的代码。

因此,我正在结束这个问题。

+0

嗯...可能不是最好的解决方案,我只是跟着他的票在jQuery UI,它似乎不能在Chrome或IE8中工作...所以有点遗憾了我们的想法。 http://dev.jqueryui.com/ticket/4205 – BerggreenDK 2010-06-02 00:28:44

+0

嘿,我是这个的作者。你能指定问题出在哪里(哪一行)?我希望有人会拿起它并修复它,但似乎对此的需求低。 – 2010-09-06 09:07:02

+0

不好意思? snz3不能查看作者和您的ID之间的任何链接,请解释。 – BerggreenDK 2010-09-16 20:31:39