2010-06-05 8 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 개가 추가, 편집, 삭제보기이며, 다중 선택 목록이며, 사용자가 원하는 항목을 제거하지 못하도록하는 6 개의 항목이 있습니다. 이 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(); 
      }); 
     }); 
     });