jQWidgets jqxSortable排序事件

关于"jQWidgets jqxSortable排序事件"的完整攻略,以下是我总结的步骤:

1. 引入jQWidgets库

在HTML引入jQWidgets库的相关文件

<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css" type="text/css" />
<script src="https://jqwidgets.com/public/jqwidgets/js/jqx-all.js"></script>

2. HTML结构

使用 ulli 标签来创建拖放列表。

<ul id="sortable">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
</ul>

3. 初始化排序控件

使用 jqxSortable() 方法来初始化排序控件,并使用 sortable() 方法将其连接到 HTML 中的元素。

$(document).ready(function () {
  $('#sortable').jqxSortable({
    opacity: 0.7,
    cursor: 'move',
    placeholder: 'placeholder',
    handle: '.handle'
  });
});

这里使用了 opacity 属性来设置拖动时元素的透明度;cursor 属性设置鼠标样式;placeholder 属性设置占位符的 class 名称;handle 属性设置了排序的手柄,默认为整个列表项可拖动。

4. 排序事件

通过 dragEnd 事件处理程序可以获得排序后的元素的列表。将元素的位置和用户在网站上的操作存储在服务器上。

$(document).ready(function () {
  $('#sortable').jqxSortable({
    opacity: 0.7,
    cursor: 'move',
    placeholder: 'placeholder',
    handle: '.handle'
  });

  $('#sortable').on('dragEnd', function (event) {
    var items = $('#sortable').jqxSortable('toArray');

    // 将在此处存储所需的排序操作
    console.log(items); 
  });
});

5. 完整示例1

下面是一个完整的示例,它演示如何指定在拖动元素时使用手柄。首先,我们将在列表项中添加一个 handle 元素。然后,在控件中将 handle 选项设置为该元素的类名。

HTML:

<ul id="sortable">
  <li>
    <span class="handle">&#9776;</span>
    Item 1
  </li>
  <li>
    <span class="handle">&#9776;</span>
    Item 2
  </li>
  <li>
    <span class="handle">&#9776;</span>
    Item 3
  </li>
  <li>
    <span class="handle">&#9776;</span>
    Item 4
  </li>
</ul>

JavaScript:

$(document).ready(function () {
  $('#sortable').jqxSortable({
    opacity: 0.7,
    cursor: 'move',
    placeholder: 'placeholder',
    handle: '.handle'
  });

  $('#sortable').on('dragEnd', function (event) {
    var items = $('#sortable').jqxSortable('toArray');

    // 将在此处存储所需的排序操作
    console.log(items); 
  });
});

6. 完整示例2

下面是一个完整的示例,它演示如何获取拖动的列表项的索引并将其在使用表单提交时发送到服务器。

HTML:

<form id="my-form" method="post" action="/submit">
  <ul id="sortable">
    <li>
      Item 1
    </li>
    <li>
      Item 2
    </li>
    <li>
      Item 3
    </li>
    <li>
      Item 4
    </li>
  </ul>
  <button type="submit">Submit</button>
</form>

JavaScript:

$(document).ready(function () {
  $('#sortable').jqxSortable({
    opacity: 0.7,
    cursor: 'move',
    placeholder: 'placeholder'
  });

  $('#sortable').on('dragEnd', function (event) {
    var items = $('#sortable li').toArray();
    var indexes = [];

    for (var i = 0; i < items.length; i++) {
      indexes.push(items.indexOf(items[i]));
    }

    $('input[name="indexes"]').val(indexes);
  });
});

在上面的示例代码中,我们通过在表单中添加一个隐藏的输入字段来创建索引数组,并将索引数组赋值为拖动后列表项的索引。

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

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

相关文章

  • 利用Python 爬取股票实时数据详情

    针对“利用Python 爬取股票实时数据”的完整攻略,我提供以下步骤: 步骤1:确定爬取的数据来源 我们爬取股票实时数据的来源一般有两种方式:从股票交易所的网站获取和从第三方财经网站获取。这里以第三方财经网站为例,常用的财经网站有新浪财经、上海证券报、东方财富等。 步骤2:确定获取数据的方式 在确定好来源之后,我们需要选择获取数据的方式。通常情况下,获取数据…

    jquery 2023年5月27日
    00
  • jQuery remove()过滤被删除的元素(推荐)

    jQuery remove()过滤被删除的元素(推荐) 简介 jQuery remove() 方法用于删除 HTML 元素。该方法也可以移除事件处理程序和数据。 remove() 方法会保留被删除的元素的数据和事件处理程序,因此这些被删除的元素可以在需要时再次插入到 DOM 中。 同时,remove() 方法还提供了过滤被删除的元素的功能,这样可以更方便的操…

    jquery 2023年5月28日
    00
  • EasyUI jQuery布局小工具

    下面我将为大家详细讲解如何使用EasyUI jQuery布局小工具。 1. 安装和引入EasyUI 首先,我们需要下载EasyUI的压缩包,在项目中引入EasyUI的CSS和JavaScript文件。 <!– 引入EasyUI的CSS –> <link rel="stylesheet" type="text…

    jquery 2023年5月13日
    00
  • 当jQuery1.7遇上focus方法的问题

    当jQuery1.7遇上focus方法的问题是一个经典的坑点,解决方案需要对事件绑定和事件委托有一定的理解。以下是具体攻略: 问题描述 在 jQuery 1.7 及之前版本,使用 focus() 方法绑定的事件会在元素失去焦点后立刻触发,而在 1.8 版本开始,该方法仅会在元素获得焦点时才触发,这导致了代码兼容性问题。 解决方案 方法一:使用其他绑定方法 在…

    jquery 2023年5月27日
    00
  • jQWidgets jqxNotification animationCloseDelay属性

    以下是关于 jQWidgets jqxNotification 组件中 animationCloseDelay 属性的详细攻略。 jQWidgets jqxNotification animationCloseDelay 属性 jQWidgets jqxNotification 的 animationDelay 属性用于设置通知组件关闭动画的延迟时间。 语法…

    jquery 2023年5月12日
    00
  • 如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)

    下面是如何用Webpack4.0撸单页/多页脚手架的完整攻略: 准备工作 在开始之前,我们需要安装 Node.js 和 npm,以及全局安装 webpack 和 webpack-cli。 npm install webpack webpack-cli -g 初始化项目 我们创建一个名为webpack-project的项目文件夹,并在其中初始化项目: mkdi…

    jquery 2023年5月27日
    00
  • jQuery实现ajax的嵌套请求案例分析

    下面我将为你详细讲解”jQuery实现ajax的嵌套请求案例分析”的完整攻略。 什么是ajax Ajax是一种基于JavaScript和XML的一种用于服务器与客户端之间的无需刷新页面即可进行数据交互的技术。Ajax的全称是”Asynchronous JavaScript and XML”(异步的 JavaScript 和 XML)。Ajax可以极大地增强用…

    jquery 2023年5月19日
    00
  • 使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)

    使用jQuery的toggle()方法对HTML标签进行显示、隐藏是一个非常常见和实用的功能。 1. 基本语法 toggle() 方法可以用来切换被选元素的可见状态(隐藏或显示)。它不需要任何参数。 以下是该方法的基本语法: $(selector).toggle(speed,callback); 其中,selector是需要进行操作的HTML标签的选择器,s…

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