2010-07-26 129 views
0

我有一个下拉列表(asp.net控制)和一个列表框控件和一个Add按钮 当用户选择下拉列表项,然后点击Add按钮添加到列表框中。如何防止重复项

我怎样才能防止用户在列表框中添加duplciate项目和警告,指出它的了吗?

UPDATE:

在我的特定情况

,我有一个dropdwonlist和添加的项目列表框都是asp.net控件和我添加的代码隐藏的项目和您的解决方案是在客户端纯,有没有一种方法可以读取列表框并比较和提醒消息?

+0

codessss ,,,, ....需要.... – Reigel 2010-07-26 15:54:16

回答

0

很容易。有了这个简单的标记:

<select id="items"> 
    <option>One</option> 
    <option>Two</option> 
    <option>Three</option> 
</select> 
<input type="button" id="add" value="Add" /> 
<select id="result" multiple="multiple" size="5"> 
</select> 

这将是jQuery的:

$('#add').click(function(){ 
    var item = $('#items').val(); 
    var $result = $('#result>option[value="' + item + '"]'); 
    if($result.length == 0){ 
     $('#result').append('<option value="' + item + '">' + item + '</option>'); 
    } 
    else{ 
     alert('The item "' + item + '" has already been added'); 
    } 
}); 

检查小提琴:http://jsfiddle.net/mKFzz/

编辑:如果你想这样做,因为每@ ryangavin的建议,这里是小提琴:http://jsfiddle.net/baLZN/

+0

感谢这么多,我会研究它,并在平均时间我多了一个类似的问题http://stackoverflow.com/questions/3335533/add-item-从下拉列表到列表框使用jquery – 2010-07-26 16:36:34

+0

我有更新我的问题,请看看它。 – 2010-07-26 17:23:10

+1

@Nisar汗 - 我的解决方案上面的作品,如果你也添加了代码隐藏的项目。所有'var $ result = ...'行都会查找结果列表中已经包含'#items'列表中所选选项值的项目。 – Jamiec 2010-07-27 07:48:53

2

一种方法是去除项目形成下拉列表它的加入后,这样用户甚至不能选择它第二次。消除恼人警报的需要。

+0

我同意,这是做正确的方式。 +1(即使我的答案直接回答OP的问题) – Jamiec 2010-07-26 16:02:45