2017-01-26 3 views
0

Ich habe eine Liste von Elementen, die Links sind, und ich möchte nur einen Teil des Links basierend auf einem Eingabefeld ändern.Javascript, ändern mittleren Teil eines Links

Zum Beispiel:

http://www.myexamplepage.com/?q=%22ITEM1%22&sort=date&from=2017-01-11&to=2017-01-20 

Also, wenn ich dies tun wollen:

<form><input id="date"><input></form> 

<a href="http://www.myexamplepage.com/?q=%22ITEM1%22&sort=date&from=XXXXXX&to=XXXXXX"> 

<a href="http://www.myexamplepage.com/?q=%22ITEM2%22&sort=date&from=XXXXXX&to=XXXXXX"> 

<a href="http://www.myexamplepage.com/?q=%22ITEM3%22&sort=date&from=XXXXXX&to=XXXXXX"> 

Wo XXXXXX auf den Wert i Eingang in das Eingabefeld ändert. Da ein anderer Teil der Verbindung geändert wird (ITEM1, ITEM2, ITEM3 usw.) wird diese Lösung zum Beispiel nicht funktionieren: How to change part of HTML href elements with javascript Alle Lösungen, die ich finde, sind wie diese, oder sie ändern alles nach XXXXXX im Link vollständig.

Irgendwelche Tipps?

+0

Auch Ihre HTML ist ungültig: '' ist kein gültiges Eingangselement. – Dai

+0

Ja, es war nur ein Beispiel und ziemlich über den Punkt hinaus. –

Antwort

0

Sie können den Teil der URL-Zeichenfolge mit indexOf und subString ausschneiden. Fiddle Beispiel: https://jsfiddle.net/xdckhvyp/

var string = 'http://www.myexamplepage.com/?q=%22ITEM3%22&sort=date&from=XXXXXX&to=2017-01-20'; 

var startingPoint = string.indexOf('from=') + 5; 
var endingPoint = string.indexOf('&to'); 

string.substring(startingPoint, endingPoint); 
Verwandte Themen