2010-06-05 50 views
1
$('#remove').click(function() { 
     var foo = []; 
     $('#FeatureLists :selected').each(function(i, selected) { 
      foo[i] = $(selected).text(); 
      alert(foo[i]); 
      if (foo[i] != "Add") 
       return !$('#FeatureLists option:selected').remove(); 
      if (foo[i] != "Edit") 
       return !$('#FeatureLists option:selected').remove(); 
     }); 

    }); 

我有我的選擇六個項目中,其中4個添加,編輯,刪除認爲,這是多選名單,我不希望用戶刪除除了它們可以移除任何物品之外,這4種物品。我將如何做到這一點?它不會發生在上面的代碼asp.net的MVC的jQuery刪除選擇列表項

回答

2

首先,根據您的示例代碼,數組foo似乎並不需要。其次,if語句需要包括需要排除與OR條件的所有項目,如下圖所示:

if (foo[i] == "Add" || 
    foo[i] == "Edit" || 
    foo[i] == "Delete" || 
    foo[i] == "View") 
{ 
    return;    
} 
else 
{ 
    $(selected).remove(); 
} 
1

嘗試這一點。簡單的一行代碼,稍快一點

$(document).ready(function() { 
     $("input").click(function(event) { 
      var foo = []; 
      $('#FeatureLists :selected').each(function(i, selected) { 
       foo[i] = $(selected).text(); 
       if (foo[i] != "Add" && foo[i] != "Edit" && foo[i] != "Delete" && foo[i] != "View") return $(selected).remove(); 
      }); 
     }); 
     });