11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Sur un site WordPress, j'utilise la bibliothèque JS "select2", qui permet de faire de superbes selects et multiselects.

Elle est appelée par le code suivant :
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>

Ensuite, pour l'appliquer à mes éléments <select>, j'utilise ce code-ci :
jQuery( function( $ ) {
  	$(".js-wpv-filter-trigger").select2({placeholder: "Cliquer pour sélectionner"});
  	$(".js-wpv-filter-trigger:first").select2({placeholder: "Dépêches depuis"});
} );

Désormais, je souhaite appliquer la mise en forme "select2" uniquement au ":first", mais tout en conservant les placeholders...
J'imagine que c'est extrêmement simple, mais je ne connais pas la syntaxe... Comment faire ?
Merci beaucoup !
Modifié par Adage (10 Mar 2017 - 14:47)
Modérateur
Bonjour,

Quand tu dis :
Adage a écrit :
appliquer le placeholder sans appliquer le select2

Ca veut dire juste changer le placeholder ? si c'est le cas dans la documentation de "placeholder" ils t'expliquent comment le changer :

document.getElementById("myText").placeholder = "Type name here..";

https://www.w3schools.com/jsref/prop_text_placeholder.asp

Du coup en JQuery ca doit etre un truc du genre :
$(".js-wpv-filter-trigger:first").attr("placeholder", "Dépêches depuis")


Par contre si tu ne veux appliquer le select2() seulement sur les autres select il faudrait modifier ton code pour les sélectionner tous SAUF le premier. Un truc du genre :
$(".js-wpv-filter-trigger").slice(1).select2({placeholder: "Cliquer pour sélectionner"});

ou
$(".js-wpv-filter-trigger").not(':first').select2({placeholder: "Cliquer pour sélectionner"});

http://stackoverflow.com/questions/11152001/jquery-not-first-child-selector

A tester....
Meilleure solution
_laurent a écrit :
Du coup en JQuery ca doit etre un truc du genre :
$(".js-wpv-filter-trigger:first").attr("placeholder", "Dépêches depuis")

Ah voilà, c'était ce que je cherchais, "attr", merci beaucoup !!
Modifié par Adage (10 Mar 2017 - 14:58)