maztt
maztt

Reputation: 12294

asp.net mvc jquery removing select list item

 $('#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();
        });

    });

i have six items in my select in which 4 of them are add,edit ,delete view, it is multiselect list, i don't want the user to remove the these 4 items , apart from that they can remove any item. how will i do that? it is not happening in the above code

Upvotes: 1

Views: 2019

Answers (2)

Naren
Naren

Reputation: 288

Try this as well. Simple one line code and slightly faster

$(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();
            });
         });
      });

Upvotes: 1

Jose Basilio
Jose Basilio

Reputation: 51468

First of all, based on your sample code, the array foo is does not appear to be needed. Secondly, the if statement needs to include all the items that need to be excluded with OR conditions as shown below:

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

Upvotes: 2

Related Questions