【问题标题】:JQuery-UI sortable sort on form submit表单提交上的 JQuery-UI 可排序排序
【发布时间】:2012-09-19 13:02:34
【问题描述】:

图像从数据库加载。 我想使用 JQuery-UI sortable 对图像顺序进行排序并将数据保存在表单提交中。

<script type="text/javascript">
    $(function() {
        $( "#sortable" ).sortable({
            placeholder: "ui-state-highlight",
            cursor: 'crosshair'
    });
        $( "#sortable" ).disableSelection();
});
</script>

<form action="" method="post">
<ul id="sortable" style="width: 524px;">
    <li id="00001" class="ui-state-default"><img src="00001.jpg" width="100" height="90" /></li>
    <li id="00002" class="ui-state-default"><img src="00002.jpg" width="100" height="90" /></li>
    <li id="00003" class="ui-state-default"><img src="00003.jpg" width="100" height="90" /></li>
    <li id="00003" class="ui-state-default"><img src="00004.jpg" width="100" height="90" /></li>  
</ul>
<div style="clear:both;"></div>
<input name="Submit" value="RE-ORDER" type="submit" />
</form>

【问题讨论】:

标签: javascript jquery jquery-ui jquery-ui-sortable


【解决方案1】:

每次排序时,使用可排序的update: function(){} 将值更新到隐藏的输入字段。这是我的代码,它会在您每次排序时更新隐藏的输入。提交表单时,会将值发送到服务器。

<form action="" method="post">
    <input type="hidden" id="image_order" name="image_order" value="" />
<ul id="sortable" style="width: 524px;">
    <li id="00001" class="ui-state-default"><img src="00001.jpg" width="100" height="90" /></li>
    <li id="00002" class="ui-state-default"><img src="00002.jpg" width="100" height="90" /></li>
    <li id="00003" class="ui-state-default"><img src="00003.jpg" width="100" height="90" /></li>
    <li id="00003" class="ui-state-default"><img src="00004.jpg" width="100" height="90" /></li>  
</ul>
<div style="clear:both;"></div>
<input name="Submit" value="RE-ORDER" type="submit" />
</form>​


 $(function() {
        $( "#sortable" ).sortable({
            placeholder: "ui-state-highlight",
            cursor: 'crosshair',
            update: function(event, ui) {
                var order = $("#sortable").sortable("toArray");
                $('#image_order').val(order.join(","));
                alert($('#image_order').val());
            }
    });
        $( "#sortable" ).disableSelection();
});​

这里是demo

【讨论】:

    【解决方案2】:

    根据我的想法,这是一个基本的解决方案

    创建一个隐藏输入并将其顺序存储到其中。

    <script type="text/javascript">
        $(function() {
            $( "#sortable" ).sortable({
                placeholder: "ui-state-highlight",
                cursor: 'crosshair',
                update: function(event, ui) {
    
          var Order = $("#sortable").sortable('toArray').toString();
          $('#order').val(Order);
     }
        });
            $( "#sortable" ).disableSelection();
    });
    </script>
    
    <form action="" method="post">
    <ul id="sortable" style="width: 524px;">
        <li id="00001" class="ui-state-default"><img src="00001.jpg" width="100" height="90" /></li>
        <li id="00002" class="ui-state-default"><img src="00002.jpg" width="100" height="90" /></li>
        <li id="00003" class="ui-state-default"><img src="00003.jpg" width="100" height="90" /></li>
        <li id="00003" class="ui-state-default"><img src="00004.jpg" width="100" height="90" /></li>  
    </ul>
    <div style="clear:both;"></div>
    <input name="order"  type="hidden" />
    <input name="Submit" value="RE-ORDER" type="submit" />
    </form>
    

    现在您可以从order 订购。

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多