Может быть, это то, что вы хотите jsFiddle .
document.getElementById('add_parameters').addEventListener('click', parammeterize);
function parammeterize() {
let url = 'https://domain.tld';
let params = {};
document.querySelectorAll('#parameters input.select-selected').forEach((element) => {
if (element.value.length > 0)
params[element.id] = element.value;
});
let esc = encodeURIComponent;
let query = Object.keys(params)
.map(k => esc(k) + '=' + esc(params[k]))
.join('&');
url += '?' + query;
alert(url);
}
Вы ищете keydown / press / up
$("#inputID").keydown(function(event) {
alert(event.keyCode);
});
или используете bind $ ("# inputID"). Bind ('onkeydown', ...
Я ответил вторым Чадом Грантом, а также отправил эту статью в блоге [удаленная мертвая ссылка] для вашего удовольствия.
Вы должны изменить имя события из «Изменить» на «OnChange»:
$(document).ready(function(){
$("input#tags").bind("onchange", autoFill);
});
или использовать изменение метода связующего сочетания:
$(document).ready(function(){
$("input#tags").change(autoFill);
});
Обратите внимание, что событие OnChange обычно стреляет, когда пользователь оставляет вход, поэтому для автоматического завершения вас лучше использовать событие клавиш клавиши.
Вот подсказка, почему вызов onchange () может не запускать вашу связанную функцию:
http://jehiah.cz/archive/firing-javascript -события-правильно