Comment créer un “réutilisables” fonction jquery?
J'ai ce bout de code qui fonctionne très bien:
function displayVals() {
var phonevals = $("#bphonesel").val();
$('#bphone').val(phonevals);
}
$("select").change(displayVals);
displayVals();
Je veux être en mesure de les réutiliser pour toutes les autres boîtes que j'ai sur mon site. Donc, je pensais utiliser des paramètres pour le faire. Cependant, je n'ai jusqu'à présent pas été en mesure d'obtenir la syntaxe correcte. Voici ce que j'ai, mais ça ne fonctionne pas. Toute aide serait appréciée.
function displayVals(inputfld, boundfld) {
var nvenval = $(inputfld).val();
$(boundfld).val(nvenval);
}
$("select").change(displayVals());
displayVals('#bphonesel', '#bphone');
Vous devez vous connecter pour publier un commentaire.
Découvrez la jQuery docs sur la création de plugins pour plus d'info.
this
fonctionnera très bien - pas besoin d'utiliser$(this)
.Comme cela si vous voulais faire une fonction jQuery:
L'intérieur de la fonction,
$(this)
fonctionne exactement comme vous vous y attendez. Il suffit de définir ce en dehors de la docReady et vous êtes tous ensemble. Cela dit, il semble que vous juste besoin de définir les sélecteurs dans les displayVals() appeler à l'intérieur de l' .événement de changement:Autre que cela, il faudrait que je vois le reste de votre code pour comprendre ce qui pourrait être la cause du problème.
$(this)
à l'intérieur d'une fonction jQuery,this
est déjà un objet étendu.$(this)
trop 🙂Je pourrais faire quelque chose comme:
Puis, sur tout sélectionner l'élément que vous voulez que cela fonctionne, vous pouvez faire quelque chose comme::
Cela utilise un html5 style "données" de l'attribut. Cela signifie également que vous n'avez pas à chacun de liste déroulante dans le document de la charge de l'événement, chaque sélectionnez pouvez spécifier son propre élément d'affichage en html.