jQuery-UI实现拖动排序

作者:Shine 发布于:2016-11-18 13:24:23 浏览:1443次 分类:PHP

使用jQuery实现图片的拖动排序

js部分:

<?php 
    $this->registerJsFile('/js/jquery-ui.js',['depends' => [\yii\web\JqueryAsset::className()]]);
 ?>
<?php 
    $resortUrl = Url::to(['material-image/resort']);
    $this->registerJs('
        $(function() {
            $( "#sortable" ).sortable({
                stop:function(){
                    var imageIdArray = new Array();
                    $(".eachImage").find("img").each(function(){  
                        var imageId = $(this).attr("id");
                        imageIdArray.push(imageId);
                        
                    })

                    $.post("'.$resortUrl.'",{imageIdArray:imageIdArray},function(data){
                        var data = eval(data);
                        var numberLength = data.length;
                        var imageOrder = numberLength - 1;

                        for (imageOrder; imageOrder+1 > 0; imageOrder--) { 
                            $("#sortable li").eq(imageOrder).find("img").attr("number",data[imageOrder]);
                        }

                    })
                }
            });
            $( "#sortable" ).disableSelection();
        });
        ');
?>

php部分:

    /**
    *对图片重新排序
    **/
    public function actionResort(){
        $imageIdArray = Yii::$app->request->post('imageIdArray');
        $numberArray = null;
        foreach ($imageIdArray as $key => $value) {
            $image = MaterialImageFile::findOne(['assoc_id' => $imageIdArray[$key]]);
            $image->order = $key+1;
            $image->save();
            $numberArray[] = $key+1;
        }
        return \yii\helpers\Json::encode($numberArray);
    }


标签: jquery-UI
声明:文章内容由作者原创或整理,转载请标明出处!
暂留位置!--请勿随意修改