可搜索的JQuery Connected Sortable的奇怪行为。需要修复

时间:2015-06-04 17:51:47

标签: javascript jquery jquery-ui-sortable

我正在使用连接的sortable,通过asp.net后端点击按钮可以很好地保存。其他功能包括搜索每个列表的功能。这样做很有效,直到您将项目从一个列表拖放到另一个列表。当我使用JavaScript搜索一个列表来搜索一个列表中的项目时,它仍然认为它是第一个列表的一部分。有没有人见过这种行为?你知道一个可能的解决办法,使项永久成为DOM中所述拖动列表的一部分。此行为在FF,IE,Chrome等中。

现在我在这个列表上有按钮,根据选择它们然后点击按钮将项目从一个列表移动到另一个列表,然后使用JQuery append();它是第二个列表的一部分。这使得该项目成为第二个列表的DOM的永久部分,并且能够在该列表中进行搜索。

1 个答案:

答案 0 :(得分:0)

所以这是我的“阿哈”时刻。它正在做它应该做的事情,寻找项目并显示它,如果它不是项目,它将不会显示它。但是当项目使用sortable移动到另一列时,它仍然具有与第一列相同的类。我需要进行转换。

答案如下...... http://jsfiddle.net/6jmLvysj/

         $(input)
         .change(function () {
         var filter = $(this).val();
         if (filter) {
             //here is my DAH moment it is looking for this class so when the user was typing in the first search input it was looking for item it would be searching for it is the second column--give myself a Gib slap--
             $(list).find(".ui-state-default:not(:Contains(" + filter + "))").hide();
             $(list).find("ui-state-default:Contains(" + filter + ")").show();
         } else {
             $(list).find(".ui-state-default").show();
         }
         return false;
     })
         .keyup(function () {

         $(this).change();
     });

然后这个

     //so here is where I changed this code when the user brings the item over then it changes it to the proper respected class depending where the user drops it so it can be searched. 
     stop: function (event, ui) {
         if (ui.item.hasClass("ui-state-default")) {
             ui.item.attr('class', 'ui-state-highlight');
         }
         else {
             ui.item.attr('class', 'ui-state-default');
         }
相关问题