8
votes

Comment créer une fonction "réutilisable" dans jQuery?

J'ai ce bit de code qui fonctionne bien: xxx pré>

Je veux pouvoir le réutiliser pour toutes les autres cases de sélection que j'ai sur mon site. Donc, je pensais utiliser des paramètres pour le faire. Cependant, j'ai jusqu'à présent été incapable d'obtenir la syntaxe correcte. Voici ce que j'ai, mais ça ne marche pas. Toute aide serait appréciée. P>

function displayVals(inputfld, boundfld) {
    var nvenval = $(inputfld).val();
    $(boundfld).val(nvenval);
}

$("select").change(displayVals());
displayVals('#bphonesel', '#bphone');


0 commentaires

3 Réponses :


5
votes

Comme si vous vouliez en faire une fonction jQuery: xxx

à l'intérieur de la fonction, $ (this) fonctionne comme vous l'attendez . Définissez simplement cela à l'extérieur du Docready et que vous êtes ensemble. Cela dit, il semble que vous ayez juste besoin de définir les sélecteurs dans l'appel de displayvals () à l'intérieur de l'événement .change: xxx

autre que cela, j'aurais Pour voir le reste de votre code pour comprendre ce qui pourrait causer un problème.


2 commentaires

Vous ne devriez pas utiliser $ (this) à l'intérieur d'une fonction jQuery, ceci est déjà un objet étendu.


Whoopsie. Vous avez raison :) La réponse de Chris Fulstow ci-dessous est beaucoup mieux, de toute façon.



11
votes
$.fn.displayVals = function(inputfld, boundfld) {
    this.change(function() {
        var nvenval = $(inputfld).val();
        $(boundfld).val(nvenval);
    }
}

$("select").displayVals();
Check out the jQuery docs on authoring plugins for more info.

0 commentaires

0
votes

Je pourrais faire quelque chose comme: xxx

puis, sur n'importe quel élément de sélection que vous souhaitez que cela fonctionne, vous pouvez faire quelque chose comme :: xxx < / Pré>

Ceci utilise un attribut "Données" de type "HTML5. Cela signifie également que vous n'avez pas besoin de configurer chaque publication individuelle dans l'événement de chargement de document, chaque sélection peut spécifier son propre élément d'affichage dans HTML.


1 commentaires

Merci pour l'entrée. Je suis entré dans une autre partie du projet et je n'ai pas encore pu essayer ces suggestions, mais je vais très bientôt, puis faire rapport. : <) g