2010-07-26 255 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