jQuery - hide & show li éléments qui ont une variable de classe

J'ai un menu déroulant comme une liste non-ordonnée. Quand une catégorie est sélectionnée, je veux seulement le li avec la même classe que la valeur de la sélection de rester visible.

J'ai essayé d'utiliser le not sélecteur, mais je vais avoir du mal à l'utiliser en combinaison avec une variable de classe - qui est également la même que la valeur de la sélection.

$(document).ready(function(){
    var chosenCat = $('select[name="mapCat"]').val();
    var className = $('#mapContent ul li.');
    $("#mapContent ul li").not("'.' +chosenCat").addClass("displayNone");   
});

J'ai été faire des modifications mais ce jQuery extrait de code ne fonctionne pas. Comment puis-je écrire correctement la variable que je veux rester visible? Ou est l'erreur dans le val() je suis en tirant?

le code HTML:

<select name="mapCat">
    <option value="opt0" selected="selected">SELECT A CATEGORY</option>
    <option value="opt1">UNIVERSITIES</option>
    <option value="opt2">HOSPITALS</option>
</select>
<div id="mapContent">
    <ul>
       <li class="opt1">University X</li>
       <li class="opt2">Hospital X</li>
       <li class="opt2">Hospital Y</li>
       <li class="opt1">University Y</li>
       <li class="opt1">University Z</li>
       <li class="opt2">Hospital Z</li>
    </ul>
</div>

Bout de code CSS:

.displayNone {
   display: none;
 }

OriginalL'auteur colleen | 2014-02-25