c'est ma première question posée ici, semble être une communauté incroyable.Remplir dynamiquement SELECT input avec jQuery basé sur la date
sur les bonnes choses:
Je vais avoir à remplir les entrées de sélection à partir des données contenues dans un ensemble de sortie paragraphes par un (mauvais) CMS. Je tire le noeud de texte et le noeud d'attribut d'un lien dans le paragraphe, puis j'ajoute ces valeurs à différentes cases <select>
en fonction de l'année d'origine du fichier.
Voici ce que je fais:
HTML
<p class="literature-container"><a href="/url/to/file.pdf">2009-01 - Statistics</a></p>
<p class="literature-container"><a href="/url/to/file.pdf">2010-01 - Statistics</a></p>
<p class="literature-container"><a href="/url/to/file.pdf">2011-01 - Statistics</a></p>
JS
// Get Paragraph data
function getLitData(){
var itemContent;
var itemURL;
var optionFormat;
var fileYear;
$('.literature-container').each(function() {
itemContent = $(this).text();
itemURL = $(this).find('a').attr("href");
fileYear = itemContent.charAt(3);
optionFormat = '<option ' + 'title="' + itemURL + '">' + itemContent + '</option>';
if(fileYear == 9) {
$("#statistics_literature_09").append(optionFormat);
} else if(fileYear == 0) {
$("#statistics_literature_10").append(optionFormat);
} else if(fileYear == 1) {
$("#statistics_literature_11").append(optionFormat);
}
});
};
getLitData();
Cela fonctionne, mais comme vous pouvez l'imaginer est pas très extensible ou future -préparable, car je devrai ajouter plus de tags <select>
avec les IDs appropriés, puis éditer t Il script l'année prochaine.
Ma question est, comment puis-je améliorer ce script? Je voudrais l'avoir créer dynamiquement le tag <select>
requis et lui attribuer l'ID approprié en fonction de l'année, puis ajouter les fichiers corrects à la bonne <select>
. Mes connaissances JS/jQuery sont trop limitées à ce stade pour comprendre comment faire. Toute aide serait grandement appréciée!
Merci d'avance!
Pouvez-vous poster un échantillon de * avant * et le marquage désiré * après *? (Je ne sais toujours pas exactement ce que vous voulez après avoir regardé votre démo ... désolé.) –
bienvenue à SO @ljvasey –