Donc, voici le code HTML pour une liste déroulante personnalisée qui n'utilise pas de balise de sélection. L'espace réservé/valeur par défaut pour la liste déroulante est "Acura", qui est le premier élément de la liste (ul). J'essaie de voir si je peux changer la valeur de l'espace réservé/défaut pour la liste déroulante (pour dire, BMW par exemple) sans changer l'ordre de la liste de la liste déroulante (les marques sont dans l'ordre alphabétique).(JS/JQuery) Modification de la valeur par défaut/espace réservé de la liste déroulante personnalisée?
<span id="builder-make-selection" class="pick">
<span class="label">Make:</span>
<div class="custom-dd-wrapper builder-makes" tabIndex="1">
<div class="custom_dd_select">
<span>
<a>Acura</a></span>
</div>
<div class="custom_dd_options">
<ul class="custom_dropdown">
<li data-make="Acura">Acura</li>
<li data-make="Alfa Romeo">Alfa Romeo</li>
<li data-make="Audi">Audi</li>
<li data-make="BMW">BMW</li>
</ul>
</div>
Voici le javascript qui est la création de la liste déroulante:
(function(h, a) {
function k() {
var b = a(this).parents("div.custom_dd_wrapper"),
f = b.attr("id"),
e = a(b).find(".custom_dd_select a"),
l = a(this).data(),
d = e.text().trim(),
g = a(this).text().trim();
"makes-options" == f && (a(b).addClass("active"), e.parent("span").attr("style", a(this).attr("style")));
e.text(g);
for (var m in l) {
if(m=='make'){
e.parent("span").data(m,l[m]);
}
}
d != g && a(this).closest(".custom_dd_wrapper").trigger("change")
}
function g() {
var b = a(this).closest(".custom_dd_wrapper");
a(b).find("ul").hide();
a(b).find(".custom_dd_select").removeClass("click");
a(b).find(".custom_dd_options").removeClass("show")
}
h.CustomDropdownView = function() {
var b = this;
this.vc = !1;
a(".cs").on("click", ".trans-disabled", function(a) {
a.stopPropagation()
});
a(".cs").on("click", ".custom_dd_wrapper, .popup .custom_dd_wrapper", function() {
b.vc = !0;
var f = a(this).closest(".custom_dd_wrapper");
a(f).find("ul").toggle();
a(f).find(".custom_dd_select").toggleClass("click");
a(f).find(".custom_dd_options").toggleClass("show")
});
a(".cs").on("click", ".custom_dd_options .custom_dropdown > li:not(.trans-disabled)",
k);
if (0 > window.navigator.userAgent.indexOf("MSIE ") && null == navigator.userAgent.match(/Trident.*rv\:11\./)) a(".cs").on("blur", ".custom_dd_wrapper, .popup .custom_dd_wrapper", function() {
a(this).find(".custom_dd_options ul").is(":visible") && g.call(this)
});
else a(".cs").on("click", function() {
if (b.vc) b.vc = !1;
else {
var f = a(".custom_dropdown").filter(":visible");
0 < f.length && f.each(g);
}
});
a(".cs").on("click", ".disable", g)
}
})
Je sais, mais le code HTML est RENDUES du JavaScript, des changements afin de refléter le HTML, le JavaScript doit être modifié – AliciaGuerra
alors vous pouvez l'écrire avec une fonction sur le document prêt que le défaut sera BMW – Pragati