jQuery sortables

时间:2008-10-09 12:40:58

标签: jquery sequence sortables

我在jquery中使用sortable函数来对faq列表进行排序。不用说,我是这个概念的新手。任何人都有这方面的后端的任何好例子。我的前端工作正常,但更新数据库中的序列是另一回事。我的后端是ColdFusion btw。

提前致谢

2 个答案:

答案 0 :(得分:21)

定义faq:

<div id="faq">
  <div id="q1">...</div>
  <div id="q2">...</div>
  (...)
  <div id="q100">..</div>
</div>

让faq排序:

<script type="text/javascript">
  $("#faq").sortable();
</script>

提交表格:

<form action="..." id="faq_form">
  <input type="hidden" name="faqs" id="faqs" />
  ...
</form>

将已排序的序列添加到表单

<script type="text/javascript>
  $("#faq_form").submit(function() {
    $("#faqs").val($("#faq").sortable('toArray'))
  })
</script>

提交表单时,字段“faqs”将包含来自#faq的逗号分隔ID,如下所示: Q1,Q3,Q10,Q11,Q2,Q100 ...

只需解析它并保存到DB

答案 1 :(得分:3)

以下是Jquery UI Sortable的简单示例,它如何与div一起使用。

首先在你的html中包含库:

 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>` <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>`<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>``

用于制作可排序的Html:

<div id="target">
    <div style="cursor: move;" class="entity">
        <div class="digit"><span>1</span><tab />&nbsp; First Item </div>            
    </div>      
    <div style="cursor: move;" class="entity">
        <div class="digit"><span>2</span>&nbsp; Second Item</div>           
    </div>      
    <div style="cursor: move;" class="entity">
        <div class="digit"><span>3</span>&nbsp; Third Item</div>            
    </div>
    <div style="cursor: move;" class="entity">
        <div class="digit"><span>4</span>&nbsp; Fourth Item</div>           
    </div>
    <div style="cursor: move;" class="entity">
        <div class="digit"><span>5</span>&nbsp; Fifth Item</div>            
    </div>
</div>

这是可排序的功能:

$(document).ready(function() {
    $('#target').sortable({
        items:'div.entity', //the div which we want to make sortable            
        scroll:true,        //If set to true, the page 
                            //scrolls when coming to an edge.
        update:function(event,ui){ renumber(); } //This event is triggered when the user 
                                                //stopped sorting and the DOM position has changed.
    });
});

从Sortable更新事件处理程序回调调用renuber():

function renumber()
{
    $('.digit span').each(function(index,element) {
        $(element).html(index+1);
    });
}