2017-01-26 12 views
0

У меня есть список элементов, которые являются ссылками, и я хочу, чтобы только часть ссылки изменилась в зависимости от поля ввода.Javascript, изменить среднюю часть ссылки

Например:

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

Так что, если я хочу сделать это:

<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"> 

Где XXXXXX изменяется в зависимости от величины входного я в поле ввода. Поскольку другая часть ссылки изменяется (ITEM1, ITEM2, ITEM3 и т. Д.), Это решение, например, не будет работать: How to change part of HTML href elements with javascript все решения, которые я нахожу, похожи на этот, или они полностью меняют все после XXXXXX в ссылке.

Любые советы?

+0

Кроме того, ваш HTML является недействительным: '' не является допустимым входным элементом. – Dai

+0

Да, это был всего лишь пример и в значительной степени за пределами точки. –

ответ

0

Вы можете вырезать часть строки URL, используя indexOf и subString. Fiddle пример: 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);