jQuery 可排序问题开/关检查

     2023-05-08     105

关键词:

【中文标题】jQuery 可排序问题开/关检查【英文标题】:jQuery Sortable Issue On/Off Checking 【发布时间】:2013-09-15 13:51:15 【问题描述】:

我又弄坏了,不知道怎么弄的。

我有一个CodePen 我最近的活动。

我一直在尝试实现的是一个可排序的函数,它首先检查是否只有一个#p_scents。如果有,它不应该是可排序的(即 .icon-sort 不应该被激活)。但是,如果有多个,它应该是可排序的。

然而,我遇到的问题是,除了一个已被删除,可排序功能仍然被激活,因为它不会重新检查存在多少#p_scents。

我该如何解决这个问题?

仅供参考,我现在以某种方式破坏了可排序功能o_O

$(function () 
    var i = 1;
    //ADD ROW 
    $('body').on('click', '.addPTbutton', function () 
        var box = '<table class="manage-pt" id="' + i + '"><tr class="pt-entry"><td class="pt-toggle-group"><input class="pt-button togPTbutton" id="0" type="button" value="▾"><input class="pt-button addPTbutton" id="0" type="button" value="+"><input class="pt-button delPTbutton" id="' + i + '" type="button" value="-"></td><td class="pt-values"><div><input class="vendor" placeholder="*Vendor Name" type="text"><i class="icon-sort"></i><i class="icon-lock"></i></div><div><textarea class="ptCode" name="ptCode" placeholder="*Pixel Tag Code"></textarea></div><div class="page-select"><select><option value="AllPages">All Pages</option><option value="HomePage">HomePage</option><option value="VehicleDetailsPage">VehicleDetailsPage</option><option value="VehicleSearchResults">VehicleSearchResults</option><option value="ContactUsForm">ContactUsForm </option></select></div><div class="area-checkboxes"><p class="wheretosave">*Where?</p><input name="head" type="checkbox"><label for="head">Head</label><input name="body" type="checkbox"><label for="body">Body</label></div><hr/></td></tr></table>';
        i++;
        $("#p_scents").append(box);
        return false;
    );
    //DELETE ROW
    $('body').on('click', '.delPTbutton', function () 
        var boxnum = $(".manage-pt").length;
        if (boxnum <= '1') 
            alert('Cannot Delete Last Remaining Row');
         else 
            $(this).parents().eq(3).remove();
        
        return false;
    );
    //TOGGLE BUTTON
    $('body').on('click', '.togPTbutton', function () 
        var hiddenarea = $(this).parent().next().children().next();
        if ($(hiddenarea).is(':hidden')) 
            //PT-VALUES OPENED
            $(this).val('▾');
            $(this).parent().next().children(0).children(0).attr('readonly', false);
         else 
            //PT-VALUES HIDDEN
            $(this).val('▸');
            $(this).parent().next().children(0).children(0).attr('readonly', true);
        
        //TOGGLE VISIBILITY OF HIDDEN AREA
        hiddenarea.toggle();
    );
    //CHECKS FOR MORE THAN ONE 1 MANAGE-PT BEFORE ENABLES SORTABLE
    $('body').on('click', '.icon-sort', function () 
        if ($(".manage-pt").size() > 1) 
            $('#p_scents').sortable(
                disabled: false,
                placeHolder: '.placeHolderHighlight',
                handle: '.icon-sort',
            );
         else $('#p_scents').sortable(
            disabled: true,
        );
    );
    //CHECK TO MAKE SURE ONLY ONE CHECKBOX IS SELECTED
    var $onlyOne = $('.onlyOne');
    $onlyOne.click(function () 
        $onlyOne.filter(':checked').not(this).removeAttr('checked');
    );
    //LOCK BUTTON ON/OFF LOCKS FORM
    $('body').on('click', '.icon-lock', function () 
        $(this).toggleClass('locked');
        var lockedarea = $(this).parents(0).eq(2);
        $(lockedarea).find('input[type=text],input[type=checkbox],textarea,select').prop('disabled', function (_, val) 
            return !val;
        );
    );
);

【问题讨论】:

【参考方案1】:

你的问题在这里:

//CHECKS FOR MORE THAN ONE 1 MANAGE-PT BEFORE ENABLES SORTABLE
$('body').on('click', '.icon-sort', function () ...);

当点击元素".icon-sort" 时仍然是可排序的。您必须使用在排序操作开始之前进行检查的操作:例如 mouseenter

这里是jsfiddle

【讨论】:

非常感谢!救命稻草!现在我的项目完成了!

jQuery移动切换按钮开/关?

】jQuery移动切换按钮开/关?【英文标题】:jQuerymobiletogglebuttonon/off?【发布时间】:2012-03-2210:17:48【问题描述】:据我所知,标准的jQuery\'toggle\'功能在jQuerymobile中不起作用-这是正确的吗?如果是这样,是否有另一种有效的方法... 查看详情

在cordova android中检查GPS状态(开/关)

...kGPSstate(on/off)incordovaandroid【发布时间】:2014-10-2809:34:37【问题描述】:我已成功使用此(https://github.com/apache/cordova-plugin-geolocation)为科尔多瓦实施地理定位,但是手机中的gps已关闭onerror功能从未被调用。是否有其他方法可以检查gp... 查看详情

在 Android 11 (API 30) 上检测“提高位置准确性”开/关状态

...uot;on/offstateonAndroid11(API30)【发布时间】:2020-10-2915:58:01【问题描述】:我需要检查用户是否打开或关闭了“提高位置准确性”。直到现在我通过NETWORK_PROVIDER检查过vallocationManager=(getSy 查看详情

如何检查列表是不是可排序?

】如何检查列表是不是可排序?【英文标题】:Howtocheckiflistissortable?如何检查列表是否可排序?【发布时间】:2012-07-2022:26:14【问题描述】:如何检查特定列表是否可排序?喜欢$(\'#list\').is(\':sortable\')...?如果我们会使用if($(\'#l... 查看详情

ios icloud 在设备中以编程方式设置开/关

...ton/offprogramaticallyinthedevice【发布时间】:2015-07-1707:46:16【问题描述】:我是iOS和iCloud的新手。我有一个与iCloud同步核心数据的应用程序,我想知道如何检查设备是否禁用了iCloud或iCloudDrive设置,在这种情况下,请用户通过应用程... 查看详情

jQuery 可排序/禁用选择问题

】jQuery可排序/禁用选择问题【英文标题】:jQuerysortable/disableselectionproblem【发布时间】:2011-06-0617:57:34【问题描述】:我的jQuery可排序列表出现问题,其中文本被选中。我发现了函数disableSelection(),但似乎无法正常工作。这是js... 查看详情

jquery可排序占位符高度问题

】jquery可排序占位符高度问题【英文标题】:jquerysortableplaceholderheightproblem【发布时间】:2011-09-0216:44:36【问题描述】:由于某种原因,我的可排序项目的占位符约为10像素。我所有的可分类项目都有不同的高度。如何更改每个... 查看详情

jQuery 可排序

】jQuery可排序【英文标题】:jQuerysortables【发布时间】:2010-09-1606:28:00【问题描述】:我在jquery中使用sortable函数来排序一个常见问题列表。不用说,我对这个概念很陌生。任何人都有这方面的后端很好的例子。我的前端工作正... 查看详情

jQuery 可编辑/可排序列表

】jQuery可编辑/可排序列表【英文标题】:jQueryEditable/SortableList【发布时间】:2011-04-0203:50:15【问题描述】:我正在寻找一个可编辑(添加、更改、删​​除元素)的jQuery列表,有什么好的起点代码库可以做到这一点?我发现这... 查看详情

jquery 可排序,可拖动到垃圾桶对象

】jquery可排序,可拖动到垃圾桶对象【英文标题】:jquerysortable,draggableontoatrashcanobject【发布时间】:2012-03-2707:05:32【问题描述】:当我将可分类、可拖动的项目放在垃圾桶对象上时,我遇到了问题。代码在这个jsfiddle中。http://js... 查看详情

jQuery表格排序问题

】jQuery表格排序问题【英文标题】:JQuerytablesorterproblem【发布时间】:2010-09-2302:20:28【问题描述】:我在使用JQuerytablesorter插件时遇到了一些问题。如果单击列标题,它应该按此列对数据进行排序,但是有几个问题:行未正确排... 查看详情

jQuery 可排序和可放置

】jQuery可排序和可放置【英文标题】:jQuerySortableandDroppable【发布时间】:2011-01-0614:27:05【问题描述】:我想要一个可排序的列表,但我也希望该列表中的元素可放置到我定义为可放置的div中。我似乎找不到办法做到这一点。有... 查看详情

jQuery 可排序和 AJAX 问题。 (当列表来自 AJAX 时无法排序)

】jQuery可排序和AJAX问题。(当列表来自AJAX时无法排序)【英文标题】:jQuerysortableandAJAXquestion.(sortablenotworkingwhenthelistcomesfromAJAX)【发布时间】:2010-12-0614:51:00【问题描述】:我有2个可排序的列表。第一个是从数据库中获取带有A... 查看详情

使 jQuery 可排序更流畅

】使jQuery可排序更流畅【英文标题】:MakejQuerysortablesmoother【发布时间】:2012-03-1411:43:00【问题描述】:我第一次使用jQuery可排序。我试图让排序更顺畅一些,但在在线独库中一无所获。问题是,jQuerysortable只产生一个占位符,... 查看详情

Bootstrap 可嵌套列表组 - JQuery 可排序

】Bootstrap可嵌套列表组-JQuery可排序【英文标题】:BootstrapNestableList-Group-JQuerySortable【发布时间】:2017-09-2711:20:33【问题描述】:您好,谁能帮我处理JQuerySortable问题?我需要使这个列表可排序。我无法让它正常工作能够拖动另一... 查看详情

Jquery / Jquery UI 可排序在使用 php 获取数据时遇到问题

】Jquery/JqueryUI可排序在使用php获取数据时遇到问题【英文标题】:Jquery/JqueryUIsortablehavingissuestoGETdatawithphp【发布时间】:2015-04-1602:59:39【问题描述】:首先我不熟悉jquery,如果这是一个菜鸟问题,请原谅我。我有一个网络应用程... 查看详情

Jquery 可排序图像

】Jquery可排序图像【英文标题】:JquerySortableimages【发布时间】:2018-04-1210:46:19【问题描述】:我想拖放图片。https://github.com/glekli/jQuery-Sortable-Photos我使用此示例进行拖放。我尝试了同样的方法,但在我的代码中它不起作用。我... 查看详情

jquery可排序/可拖动双重事件触发

】jquery可排序/可拖动双重事件触发【英文标题】:jquerysortable/draggabledoubleeventfiring【发布时间】:2011-04-0217:00:19【问题描述】:我有一些可以正常工作的拖放代码。只是有一个小问题。我注意到,如果我在drop函数中添加警报以... 查看详情