2013-03-13 67 views
0

我有一个序列化可选,我想要一个功能,使其只能选择一个列表项目在一次。我相信我有正确的代码,但它不起作用。有人知道为什么选择只有一个可选jQueryUI

这里是我的javascript:

$(function() { 
    $("#selectable").selectable({ 
     stop: function() { 
      var result = $("#select-result").empty(); 
      $(".ui-selected", this).each(function() { 
       var index = $("#selectable li").index(this); 
       result.append(" #" + (index + 1)); 
      }); 
     } 
    }); 
}); 


$("#selectable").selectable({ 
     selected: function(event, ui) { 
      $(ui.selected).siblings().removeClass("ui-selected"); 
     } 
}); 

我从HTML可选择如下。由于嵌套在<li>标签中的元素可能存在问题?

<ul id="selectable"> 
    <li><a><img src="images/CacheMenuGoogleCache2.png", alt="Google Cache" class="button" id="Google Cache" height ="34px" /></a></li> 
    <li><a><img src="images/CacheMenuBingCache2.png", alt="Bing Cache" class="button" id="Bing Cache" height ="34px" /></a></li> 
    <li><a><img src="images/CacheMenuYahooCache2.png", alt="Yahoo Cache" class="button" id="Yahoo Cache" height ="34px" /></a></li> 
    <li><a><img src="images/CacheMenuWaybackMachine2.png", alt="WayBack Machine" class="button" id="WayBack Machine" height ="34px" /></a></li> 
    <li><a><img src="images/CacheMenuCoralCDN2.png", alt="CoralCDN" class="button" id="CoralCDN" height ="34px" /></a></li> 
    <li><a><img src="images/CacheMenuGigablast2.png", alt="Gigablast" class="button" id="Gigablast" height ="34px" /></a></li> 
    <li><a><img src="images/CacheMenuWebCite2.png", alt="Webcite" class="button" id="Webcite" height ="34px" /></a></li> 
</ul> 

我很感谢你的时间和你的帮助!

+0

当我尝试在http://jqueryui.com/selectable/#serialize上的示例中选择的函数时,它似乎按预期工作。当我点击一个项目时,它会被选中,其他人将被取消选中。除非你期望别的吗? – Bemmu 2013-03-13 05:54:33

+0

目标是一次只能选择一个项目。这对你有用吗? - 因为我可以突出显示并选择多个。 – Dbz 2013-03-13 05:56:31

回答

3

好的,我发现了这个问题。我需要包括它像这样在函数中:

$(function() { 
    $("#selectable").selectable({ 
     selecting: function(event, ui){ 
      if($(".ui-selected, .ui-selecting").length > 1){ 
        $(ui.selecting).removeClass("ui-selecting"); 
      } 
     } 
    }); 
}); 

此外,您可能会注意到的功能是有一点点不同。这是因为其他功能会留下所选图像。