J'ai le tableau PHP suivant dans une variable Laravel appelé dans la vue de ma lame J'ai une goutte Ce qui a changé, je veux charger une liste déroulante Select2 avec les options ci-dessus. Vous trouverez ci-dessous mon code: P> $ salaires code> qui est transmis à une vue sur la lame:
{2: "£8, Per hour", 3: "£10, Per hour", 23: "Up to £10000, Per annum", 24: "£10,000 - £15,000, Per annum"}
3 Réponses :
Votre tableau doit avoir la structure comme ceci:
Les clés sont importantes car elles sont les valeurs d'option et le texte de salaire est l'étiquette d'option.
Donc, votre matrice doit avoir cette structure: php [["id '=> 2," texte "=>" £ 8, par heure "]]] code>
exactement comme Serhii dit, extrayez simplement les valeurs de votre réseau associatif avant de le coder:
$(document).on("change", ".js-selector", function() { var options = {!! json_encode(array_values($salaries)) !!}; $("#salary_list").empty().select2({ data: options }); })
Les clés sont importantes car elles forment les valeurs d'option et le texte de salaire est l'étiquette d'option.
Vous devez transformer vos données au format correct, ici A > Vous pouvez voir le format de données correct: Vous pouvez transmettre le tableau dans le bon format à la vue, quelque chose comme: p> Cela donnerait un résultat en quelque chose comme ceci: p> ou vous pouvez transformer la matrice en JavaScript, la documentation SELECT2 explique ici Comment transformer vos données: P> Select2 nécessite que la propriété ID soit utilisée pour identifier de manière unique la
Options affichées dans la liste des résultats. Si vous utilisez une propriété
autre que id (comme pk) d'identifier de manière unique une option, vous devez
mappez votre ancienne propriété à identifier avant de le transmettre à Select2. P>
Si vous ne pouvez pas faire cela sur votre serveur ou que vous êtes dans une situation où
L'API ne peut pas être changé, vous pouvez le faire en JavaScript avant
le transmettre à SELECT2: P>
blockQuote> Dans votre cas, ce serait quelque chose comme ceci: p>
Je suis incapable de transformer sur le serveur alors comment faire une boucle via {2: "8 £, par heure", 3: "10 £, par heure", 23: 10000 £, par an ", 24:" 10 000 £ - 15 000 £, par an "} code> avec JavaScript pour l'obtenir au format correct?
Donc, ce n'est pas une question PHP, mais JavaScript.