2010-08-20 7 views

Répondre

0

Retirez le muiltiple="multiple" dans la ligne suivante:

<select id="id" name="name" multiple="multiple"> 

Ainsi, il est aussi bon que la suppression de cet attribut. J'utiliserais jQuery.

-2

En ce qui concerne votre question, désactiver pour sélectionner multiple est assez simple? N'est-ce pas?

<select multiple="multiple" disabled = "true"> 
    <option value="1"> One 
    <option value="2"> Two 
    <option value="3"> Three   
</select> 
0

avec ce code, vous pouvez désactiver multiselect:

document.getElementById('mySelectBox').removeAttribute("multiple");; 

... d'un selectbox comme celui-ci:

<select multiple="multiple" id="mySelectBox"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option>   
</select> 

(non testé)

7

En ne pas connaître un paramètre pour le désactiver.

gérer l'événement onSelectedRowsChanged et faire quelque chose comme:

var selectedRows = grid.getSelectedRows(); 
if(selectedRows.length > 1) { 
    grid.setSelectedRows([ selectedRows[ selectedRows.length - 1 ] ]); 
} 
+1

Sauf s'il y a est un moyen de supprimer le déclenchement de l'événement, n'est-ce pas une boucle fermée? – reergymerej

9

Je sais que c'est une vieille question, mais mises à jour de Slickgrid vous permettent désormais de désactiver multiSelect dans les options de la grille:

var options = { 
      editable: false, 
      enableCellNavigation: true, 
      asyncEditorLoading: false, 
      multiSelect: false 
     }; 

Avec cette option, cliquer tout en maintenant un ctrl ou un shift ne fait rien, et de manière indésirable, vous ne pouvez pas désélectionner une cellule avec ctrl + clic, ou en cliquant à nouveau sur la cellule sélectionnée

+0

Cela n'empêche pas quelqu'un de maintenir la touche Maj enfoncée, puis la touche fléchée pour effectuer une sélection multiple .... – benjaminz