2013-05-08 3 views
4

Est-il possible de présélectionner certaines options d'une multiselectbox qui ne sera pas désélectionnée en ajoutant une nouvelle option select?Comment présélectionner les options d'un select multiple? (html + php)

J'ai maintenant une selectbox multiple normale, quelles options seront pré-sélectionnés par PHP:

<select name="selectbox" multiple> 
    <option value="A">A</option> 
    <option value="B" selected>B</option> 
    <option value="C">C</option> 
    <option value="D" selected>D</option> 
</select> 

Lorsque je clique sont désélectionnés à l'option A, l'option B et D et A seront sélectionnés. Je souhaite uniquement désélectionner un élément lorsque quelqu'un clique sur une option déjà sélectionnée. Lorsqu'une personne clique sur une option qui n'est pas encore sélectionnée, elle doit être ajoutée aux éléments déjà sélectionnés.

Quelle est la meilleure façon de faire cela? Ou n'est-ce pas possible?

+0

oui, il est possible que vous pouvez utiliser JQUERY et simplement voir quelles valeurs sont: sélectionnées. – Robert

+0

Ou maintenez simplement la touche ctrl lorsque vous cliquez sur la nouvelle option – Dale

Répondre

1

facile avec javascript (jQuery), comme ceci:

$('select[name=selectbox]').on('mousedown','option',function(ev) { 
    ev.preventDefault(); 
    $(this).prop('selected', !$(this).is(':selected')); 
}); 

Voir working demo

+1

Cela ne fonctionnera pas :) vous devez utiliser sélectionné au lieu de coché :) – Robert

+2

et: vérifié aussi à: sélecteur sélectionné .. – Kamil

+1

Oui, vous oubliez de changer aussi: vérifié :). Changez if ($ (this) .is (': checked')) {if ($ (this) .is (': selected')) { – Robert

Questions connexes