2010-06-07 60 views
0

这似乎是一个奇怪的要求,但我想使用jQuery的可选工具一次只能选择一个项目,我想它告诉我的值我有每个标签内。至少我想要那个选择的内容。有没有人试图做到这一点?由于某些原因,这些小东西似乎并不容易在它们的API中找到。jQuery可选择只选择1并获得一个值?

+0

您的问题不对我来说似乎很清楚,你可以用一个例子来具体说明。你总是可以使用jQuery:eq(n)选择标准来缩小选择范围。 – 2010-06-07 13:20:47

+0

不,不是,我不是在谈论我选择使用selectable的选择器 - http://jqueryui.com/demos/selectable/#option-filter。我想用这个,但是,由于某种原因,我无法弄清楚如何强制只有一个选择的时间和所选择的标签 – jphenow 2010-06-07 13:22:44

回答

0

如果您一次只需要一个选择,那么为什么选择可选?

,我觉得你只是使用jQuery,因为它应该是很容易的。或者我错过了你的观点?

活生生的例子:http://jsfiddle.net/F7fsx/

HTML

<div id='container'> 
    <div id='one'>one</div> 
    <div id='two'>two</div> 
    <div id='three'>three</div> 
</div> 
​ 

CSS

#container div { 
    width: 50px; 
    height: 50px; 
    border: 2px dashed red; 
    margin: 10px; 
    color: white; 
    background:orange; 
} 
​ 

jQuery的

$('#container div').click(function() { 
    $th = $(this); 
    $th.css('backgroundColor','yellow'); 
    var value = $th.text() 
    alert(value); 
});​ 
+0

哈啊我现在不知道为什么我没有真正做到这一点。我会在下面给你一个答案或者答案,看看我更喜欢哪一个。谢谢! 等待将$ th.text工作,如果我从asp代码隐藏插入选定的部分?我认为这就是为什么当我现在尝试获得价值时,它看起来像乱码 – jphenow 2010-06-07 13:34:25

+0

@jphenow - '$ th.text()'只是获取被点击元素的文本内容。它假定您正在点击现有内容的现有元素。无论它来自哪里都不重要。只是一个通用的例子,因为我不知道你的具体情况。试试我发布的实例。 – user113716 2010-06-07 13:38:01

+0

@jphenow - 如果您的意思是动态添加元素,您需要使用'live(...)'而不是'click(...)',如$('#container div')。生活(“点击”,函数(){...' – user113716 2010-06-07 13:40:55

0

jQuery Forum一个帖子提供了下面的代码,以限制选择单个项目:

$("li").live("click", function(event) { 
    $(this).siblings().removeClass("selected"); 
    $(this).addClass("selected"); 
}); 

至于提取数据,这里是jQuery的UI团队使用的Serialize Demo代码,解压从每个选择的元素数据:

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

而且HTML标记是:

<ol id="selectable"> 
<li class="ui-widget-content">Item 1</li> 
<li class="ui-widget-content">Item 2</li> 
<li class="ui-widget-content">Item 3</li> 
<li class="ui-widget-content">Item 4</li> 
<li class="ui-widget-content">Item 5</li> 
<li class="ui-widget-content">Item 6</li> 
</ol> 
+0

这真棒感谢得到的值,我给一个镜头 – jphenow 2010-06-07 13:32:31