我有一个项目列表,我想让列表中的第一个项目不可移动且不可移动。列表中的第一项应始终作为列表中的第一项。但是,我似乎无法让它工作。这是我的排序代码:
jQuery ->
$('#lineup').sortable(
axis: 'y'
items: ".ui-state-enabled"
cancel: ".ui-state-disabled"
update: ->
$.post($(this).data('update-url'), $(this).sortable('serialize'))
);
我正在使用content_tag_for加载它:
%ul.nav.nav-tabs.nav-stacked#lineup{"data-update-url" => sort_lineups_url}
- @pieces.each_with_index do |piece, index|
- if index == 0
= content_tag_for(:li, piece, :class => 'ui-state-disabled') do
= link_to "#{(index + 1).to_s + ' - ' + piece.name}", '#'
- else
= content_tag_for(:li, piece, :class => 'ui-state-enabled') do
= link_to "#{(index + 1).to_s + ' - ' + piece.name}", '#'
我在做错了什么?我没做什么似乎阻止第一项被分类和/或移动
答案 0 :(得分:3)
但是,从我在文档中看到的内容来看,这样的事情应该有效:
$(function() {
$("#lineup li").disableSelection().addClass('ui-state-default').eq(0).addClass('ui-state-disabled');//alternatively, write classes as HTML attributes
$("#lineup").sortable({
items: "li:not(.ui-state-disabled)" //should disable draggable and sortable
});
});