jQWidgets jqxSortable dropOnEmpty属性

关于“jQWidgets jqxSortable dropOnEmpty属性”的详细讲解,以下是完整攻略:

1. 什么是jQWidgets jqxSortable

jQWidgets是一个基于jQuery的商业级JavaScript UI框架,包含多个常用控件,如按钮、输入框、日历、表格等。其中,jqxSortable是jQWidgets中的一个排序控件,可以让用户方便地重新排列一个列表。

2. dropOnEmpty属性的作用

jqxSortable控件中的dropOnEmpty属性,表示在拖拽过程中,如果目标列表为空,拖拽的元素是否可以被放置。

  • 如果dropOnEmpty为true,那么无论目标列表是否为空,拖拽的元素都可以被放置,并且放置后,拖拽的元素会成为空列表的第一项。
  • 如果dropOnEmpty为false,那么如果目标列表为空,拖拽的元素无法被放置。

3. dropOnEmpty使用示例

示例一

下面是一个简单的实现,在列表之间拖拽元素的示例:

<!DOCTYPE html>
<html>

<head>
    <title>jqxSortable dropOnEmpty demo</title>
    <script type="text/javascript" src="./jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxlistbox.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxsortable.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            var source = [
                'Item 1',
                'Item 2',
                'Item 3',
                'Item 4',
                'Item 5'
            ];

            $('#sortable1, #sortable2').jqxSortable({
                connectWith: '#sortable1, #sortable2',
                dropOnEmpty: true
            });

            $('#sortable1').jqxListBox({ source: source });
            $('#sortable2').jqxListBox();
        });
    </script>
</head>

<body>
    <div id="sortable1" style="float:left; margin-right:10px;"></div>
    <div id="sortable2"></div>
</body>

</html>

在这个示例中,我们定义了两个列表,都是使用jqxListBox控件实现的,其中一个已经被初始化为第一个列表,并且使用jqxSortable控件启用了拖放功能,同时,我们将dropOnEmpty设置为true,这意味着任何时候,都可以无条件地将项目放置在空列表中。

示例二

下面是一个实现使用jqxTreeGrid控件实现拖拽排序功能的示例:

<!DOCTYPE html>
<html>

<head>
    <title>jqxSortable dropOnEmpty demo</title>
    <script type="text/javascript" src="./jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxgrid.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxgrid.treegrid.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqxsortable.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            var data = [
                { "id": "1", "name": "Item 1", "parentid": "0" },
                { "id": "2", "name": "Item 2", "parentid": "0" },
                { "id": "3", "name": "Item 3", "parentid": "0" },
                { "id": "4", "name": "Item 4", "parentid": "0" },
                { "id": "5", "name": "Item 5", "parentid": "0", "subItems": [
                    { "id": "6", "name": "Item 6", "parentid": "5" },
                    { "id": "7", "name": "Item 7", "parentid": "5" },
                    { "id": "8", "name": "Item 8", "parentid": "5" }
                ]}
            ];
            var source = {
                datatype: "json",
                datafields: [
                    { name: 'id' },
                    { name: 'parentid' },
                    { name: 'name' },
                    { name: "subItems" }
                ],
                id: 'id',
                localdata: data
            };
            var dataAdapter = new $.jqx.dataAdapter(source);
            var columns = [
                { text: 'Name', datafield: 'name' }
            ];
            $("#treeGrid").jqxTreeGrid({
                source: dataAdapter,
                columns: columns,
                showHeader: true,
                sortable: true,
                filterable: true,
                groupable: true,
                pageable: true,
                pageSize: 15,
                pagerMode: "advanced",
                pagerButtonsCount: 10
            });

            $("#treeGrid").jqxSortable({
                placeHolderTemplate: $("#treeGrid > tbody > tr:first-child td"),
                dropOnEmpty: true
            });
        });
    </script>
</head>

<body>
    <div id="treeGrid"></div>
</body>

</html>

在这个示例中,我们使用了jqxTreeGrid控件来实现树形结构;我们设置了一个数据模型,然后使用dataAdapter进行数据绑定。我们启用了拖拽功能,同时,我们将dropOnEmpty设置为true,这意味着可以将一个项目拖到空的位置。

4. 结论

dropOnEmpty是一个布尔属性,设置为true时,任何时候都可以将项置于空列表中,设置为false时,只有当列表不为空时,才能将项置于该列表中。在使用jqxSortable控件时,这个属性可以帮助我们实现更加灵活和定制化的控件,为用户提供更好的使用体验。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQWidgets jqxSortable dropOnEmpty属性 - Python技术站

(0)
上一篇 2023年5月11日
下一篇 2023年5月11日

相关文章

  • 详解springboot集成websocket的两种实现方式

    详解Spring Boot集成WebSocket的两种实现方式 WebSocket作为一种全新的通信协议,在实时性、效率、安全性等方面都有一定的优势。在使用Spring Boot开发Web应用时,集成WebSocket是很常见的需求。本文将详细介绍Spring Boot集成WebSocket的两种实现方式,并提供具体的示例。 简介 Spring Boot支持…

    jquery 2023年5月27日
    00
  • Python中的jquery PyQuery库使用小结

    针对“Python中的jquery PyQuery库使用小结”的完整攻略,我将从以下几个方面进行详细讲解: PyQuery库的安装及引入; PyQuery库的基本使用方法; PyQuery库的高级用法; 示例说明。 1. PyQuery库的安装及引入 PyQuery库是Python中一个基于jQuery语法的HTML/XML解析库,方便编写抓取代码,因此是爬…

    jquery 2023年5月27日
    00
  • jQuery通过Ajax向PHP服务端发送请求并返回JSON数据

    下面是详细的攻略: 前置条件 在进行本教程之前,请确保你已经掌握了以下知识: HTML 基础语法和标记 CSS 简单样式编写 JavaScript 基础语法和DOM操作 PHP 基础语法和服务端开发 jQuery 基础语法和Ajax操作 准备工作 在开始我们的教程之前,先创建一个 PHP 文件 getData.php,该文件用于模拟请求服务端并返回 JSON…

    jquery 2023年5月28日
    00
  • 如何使用jQuery在下拉列表中添加选项

    当需要向下拉列表中添加选项时,可以使用 jQuery 的 append() 方法来实现。下面是使用 jQuery 在下拉列表中添加选项的具体步骤: 第一步:创建一个下拉列表 使用 HTML 语言创建一个下拉列表,具体代码如下所示: <select id="mySelect"> <option value="op…

    jquery 2023年5月12日
    00
  • jQuery+jsp下拉框联动获取本地数据的方法(附源码)

    首先需要明确一下,jQuery是一个简洁易用的JavaScript库,而JSP(JavaServer Pages)是Java EE Web 应用程序的一种服务器端技术。本文要讲述的是如何在JSP中使用jQuery实现下拉框联动,并获取本地数据。 1. 首先引入jQuery库 在JSP页面中,我们需要在<head>标签中引入jQuery库,代码如下…

    jquery 2023年5月19日
    00
  • jQuery UI进度条option(optionName)方法

    jQuery UI进度条是基于jQuery UI框架开发的UI组件,可用于展示进度百分比等信息。option(optionName)方法作为其重要的配置方法,用来获取或设置进度条的各项配置参数。以下是该方法的详细说明: 语法 $(selector).progressbar("option", optionName); // 获取某项参数的…

    jquery 2023年5月12日
    00
  • jQuery parentsUntil()实例

    以下是关于jQuery中parentsUntil()方法的完整攻略: 什么是parentsUntil()方法? parentsUntil()方法是jQuery中的一个筛选方法,用于选择匹配元素集合中每个元素的所有祖先元素,直到遇到指定的元素为止。 如何使用Until()方法? 可以使用以下代码来使用parentsUntil()方法: $(selector).…

    jquery 2023年5月12日
    00
  • 基于jquery用于查询操作的实现代码

    下面是基于jQuery实现查询操作的完整攻略。 1. 确定查询方式 首先需要确定查询方式,即根据哪些条件进行查询,常见的查询方式有按照关键词查询、按照时间查询、按照分类查询等等。 2. 编写HTML代码 根据查询方式,在HTML代码中添加对应的表单元素,例如文本框、下拉框等等。在表单中添加一个“查询”按钮。 <!– 简单的查询表单 –> &l…

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部