2013-05-03 107 views
0

我在手風琴內有一個可選列表,當你從列表中選擇一個項目時,項目出現在你選擇的列表中。我的問題是我想用一個句柄來選擇一個項目(句柄是一個加號)並讓文本出現在選定的列表中。jQuery可選擇句柄和排序

這裏是我的小提琴:http://jsfiddle.net/kmbonin82/NkgC2/16/

正如你所看到的,當你點擊一個加號,它不把文字在選定的項目列表。任何想法如何糾正?

這裏是一個應該把文本選定列列表中的JS:

$(function() { 
     $(".list div") 
     .selectable({ 
      handle: ".handle", 
      stop: function() { 

       var result = $("#select-result");      

       $(".ui-selected", this).each(function() { 
        var index = $(".list li").index(this);      
        $(this).css('background-color', '#669966'); 
        $(this).css('color', '#FFFFFF'); 
        result.append('<li id="' + $(this).attr('id') + '">' + $(this).text() + '</li>'); 
        sortColumns(); 
       }); 
      } 
     })   
     sortColumns(); 
    }); 

回答

0

投入在選擇列表中的值,我不得不保持的加號,然後使用索引該索引,獲取具有相同索引的li的文本和id值。然後,我可以爲李綠色着色,表明它已被選中並將其添加到列表中。

這裏的小提琴:http://jsfiddle.net/kmbonin82/NkgC2/17/

$("ul li div").click(function() { 
     var index = $("ul li div").index(this); 
     var listLiText = $("ul.list li").eq(index).text(); 
      var listLiID = $("ul.list li").eq(index).attr('id'); 

      $("ul.list li").eq(index).css('background-color', '#669966'); 
      $("ul.list li").eq(index).css('color', '#FFFFFF'); 

      if ($("#select-result #" + listLiID).length == 0) { 
       result.append('<li id="' + listLiID + '">' + listLiText + '</li>'); 
      }      
    });