J'ai un site sharepoint et je veux créer un script pour les liens avec des valeurs de chaîne querystring qui ne sont pas codées en dur afin que je puisse l'utiliser sur plusieurs sites sans avoir à le modifier. Le HTML est un gâchis et je ne peux pas le modifier.Remplacer les valeurs codées en dur dans un tableau avec des valeurs d'un autre tableau avec JavaScript?
J'ai quelques graphiques avec des liens vers une page avec plus de détails. Sur la page avec des graphiques j'ai quelques filtres et quand un utilisateur sélectionne l'un d'entre eux la page se recharge et l'URL contient alors une valeur de chaîne de requête. Avec javascript, je veux que les graphiques obtiennent des liens en fonction de la valeur de la chaîne de requête afin que la page avec plus de détails reflète ce que l'utilisateur a sélectionné dans le filtre.
Les liens des tableaux ressemble à quelque chose comme http://mysite.com/details.aspx?filter=train
Pour obtenir ce lien que j'ai un script qui les crée avec ce
goPage[0]= baseURL + filter[queryString];
goPage[1]= baseURL + filter[queryString];
Je sais que les valeurs querystring possibles déjà (max 10), de Je les ai codées en dur dans un tableau
filter[1] = 'road';
filter[2] = 'train';
filter[4] = 'horse';
ma question est, comment puis-je faire si je ne sais pas le Québec rystring valeurs au préalable?
Les liens sont ajoutés dynamiquement dans le document html et je reçois toutes les valeurs querystring possibles avec:
var businessUnitID = new Array();
$('.table404').children().children().each(function(){
var link = ($(this).find('a').attr('href'));
var startIndex = link.indexOf(",'");
var endIndex = link.indexOf("');");
if (startIndex >= 0 && endIndex >= 0) {
var linkID = link.substring(startIndex+2, endIndex);
businessUnitID.push(linkID);
}
alert(businessUnitID);
});
Toutes les idées? Merci à l'avance
modifier: mis à jour la question avec plus d'informations
pour obtenir le queryString J'utilise le code suivant:
// obtenir l'ID de filtre de la chaîne de requête
function gup(filter)
{
filter = filter.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+filter+"=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if(results == null)
return "";
else
return results[1];
}
var queryString = gup("SelectedID");
Aussi, au lieu d'avoir la route, le train etc. codé dur je l'obtiens avec
var businessUnitName = new Array();
$('.table404').children().children().each(function(){
var linkText = ($(this).find('a').text());
businessUnitName.push(linkText);
//alert(businessUnitName);
});
Ainsi, au lieu d'avoir:
var filter = new Array();
filter[1] = businessUnitName[1];
filter[2] = businessUnitName[2];
filter[4] = businessUnitName[3];
filter[5] = businessUnitName[4];
filter[7] = businessUnitName[5];
filter[9] = businessUnitName[6];
filter[10] = businessUnitName[7];
filter[11] = businessUnitName[8];
filter[14] = businessUnitName[9];
filter[15] = businessUnitName[10];
Je veux, si par exemple la valeur querystring est la troisième valeur du tableau businessUnitID, filtre réglé sur businessUnitName [3];
J'espère que je me clarifierai ici, s'il vous plaît demander si vous avez d'autres questions.
Je suis complètement confus avec cette question - est-il possible que vous puissiez publier un extrait du code HTML que vous essayez d'interroger ... et expliquer ce que vous voulez faire? – scunliffe