2010-10-18 7 views
3

Je souhaite désactiver tous les contrôles d'une page à l'aide de jquery, à l'exception des contrôles contenus dans une div particulière.Désactiver tous les contrôles sur une page à l'exception des contrôles d'une div particulière à l'aide de jquery

$('input,select,textarea,div:not("#viewNotice")').attr('disabled', 'disabled'); 

J'ai essayé d'utiliser le sélecteur ci-dessus, mais cela ne fonctionne pas bien. Ici, je désactive tous les contrôles input, select and textarea laissant viewNotive div.

Remarque: Dans viewNotice div j'ai un JqGrid. Je ne veux pas désactiver jqgrid.

Répondre

3

Vous devriez envisager d'utiliser quelque chose comme un calque modal à la place. Ce serait beaucoup plus simple à bien des égards. Cependant, vous pouvez essayer ce qui suit:

$(':input').not('#viewNotice :input').attr('disabled', true); 

Le sélecteur vous avez utilisé sélectionné tous divs qui n'ont pas un id de viewNotice (entre autres éléments). Cette partie de code sélectionne tous les éléments d'entrée (voir jQuery's selector API pour :input) et exclut toutes les entrées qui sont contenues dans #viewNotice par la suite.

Questions connexes