Autor | Zpráva | ||
---|---|---|---|
Milan1236000 Profil |
#1 · Zasláno: 4. 6. 2019, 23:15:26
Ahoj,
v JS nemám problém: var url = new URLSearchParams(window.location.search); alert(url.get("id")); Jak by ale přesně to samé šlo napsat v jQuery? Skončil jsem na tomhle, kde se mi jen vypíše celá URL, ale nedaří se mi z ní dostat právě ten jeden parametr. var url = $(location).prop("href"); alert(url); // alert(url.get("id")); // zobrazuje se chyba Díky. :) |
||
Tomášeek Profil |
Milan1236000:
jQuery na toto nemá žádnou zabudovanou funkci (alespoň myslím), musíš si ji napsat sám. Například takto: $.urlParam = function(url, name){ var results = new RegExp('[\?&]' + name + '=([^]*)').exec(url); if (results == null) { return null; } return decodeURI(results[1]) || 0; } var url = 'http://localhost/test.html?a=true&b=12'; alert($.urlParam(url, 'a')); // true alert($.urlParam(url, 'b')); // 12 alert($.urlParam(url, 'c')); // null |
||
H13 Profil |
#3 · Zasláno: 5. 6. 2019, 08:29:37
Celkem zajímavá, sice starší, ale pořád dobře fungující knihovna pro takové účely:
benalman.com/projects/jquery-bbq-plugin |
||
Kajman Profil |
#4 · Zasláno: 5. 6. 2019, 09:11:04
Milan1236000:
A víte o tom, že jQuery je jen rozšiřující funkce pro javascript a i když načtete jQuery knihovnu, čistý javascript funguje stále? Pokud přesto budete psát funkci s regulárem, jak naznačil Tomášeek, tak nezapomeňte escapovat string name dávaný do reguláru. Navíc bych hledal i jeho ošetřenou variantu pro použití v url. Možná něco jako '[\?&](?:' + escapeRegExp(name) + '|' + escapeRegExp(encodeURIComponent(name)) + ')=([^]*)' |
||
Milan1236000 Profil |
#5 · Zasláno: 5. 6. 2019, 19:55:40
Napsat vlastní funkci by problém nebyl, ale to už bych to raději napsal v tom JS. Jen mě zajímalo, jestli na to knihovna jQuery taky nemá nějaké už vytvořené funkce.
Díky za odpovědi. :) |
||
Tomášeek Profil |
#6 · Zasláno: 5. 6. 2019, 20:01:13
Milan1236000:
Ta funkce existuje. url.get()
|
||
Časová prodleva: 6 let
|
0