Ajouter un événement javascript à jqGrid
-
10-07-2019 - |
Question
J'utilise le plugin jqGrid et je souhaite ajouter un événement onKeyPress à chaque champ du formulaire de modification.
Ce code fonctionne pour IE8, mais échoue dans FF et IE7
{name: 'name', index: 'name', width: 200, editable: true,
sortable: false, search: true, editoptions: { readonly: false, size: 32,
'onKeyPress': 'if($("#cbLanguage").attr("checked"))togeo();' },
editrules: { required: true }}
Comment modifier cela pour le faire fonctionner dans IE7 et FF? Merci.
La solution
Trouvé la solution! Afin d’affecter un événement à un champ, j’ai besoin d’ajouter ce qui suit à editoptions:
dataEvents:[{type:'keypress', fn: function(e) {
if($("#cbLanguage").attr("checked"))togeo(); }}]
Autres conseils
Félicitations à karim79 pour avoir repéré le problème de l'événement.
De plus, vous feriez mieux d'utiliser une fonction plutôt qu'une chaîne implicite en tant que fonction. Facile à lire / maintenir.
name: 'name', index: 'name', width: 200, editable: true,
sortable: false, search: true, editoptions: { readonly: false, size: 32,
'onKeyUp': keyUpFn },
editrules: { required: true }}
function keyUpFn (){
$("#cbLanguage").is(':checked') ){
togeo();
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow