如何将输入(文本)值添加到链接的href属性中

时间:2015-06-12 16:47:49

标签: javascript jquery html html5

所以我一直有一个在过去几个小时里一直困扰着的问题。我有一个搜索输入,在用户输入输入并按下send后,应将文本添加到href属性中并发送到结果页面,用于查询数据库。我无法找到让它发挥作用的方法,如果我能得到你们任何人的帮助,我们将非常感激。我知道如何使用ajax或仅使用普通的html表单进行搜索,所以请不要提示。我只需要按照我的要求工作,这是一个很长的故事:-)。提前致谢。这是摘录

<input type="text" class="form-control" id="search-text" placeholder="Search...">
<a href="results.php?search=WHERE-I-WANT-THE-INPUT-TO-GO" class="btn btn-default" id="send">Search</a>

2 个答案:

答案 0 :(得分:2)

var $anchor = $("#send");
$("#search-text").on("keypress",function(){
    $anchor.attr("href","results.php?search="+$(this).val());
})

这应该可以解决问题

答案 1 :(得分:1)

更新

$("#search-text").on("keyup",function(e){
  if(e. keyCode === 13){
    var address = $('#send').attr('href');
    window.location = address;
  } 

  $('#send').attr("href","results.php?search="+$(this).val());
})

你可以做这样的事情

$('#send').on('click', function(e){
  e.preventDefault();
  var address = $(this).attr('href') + $('#search-text').val();
  window.location = address;
});

如果href看起来像

<a href="results.php?" ... />

稍微改进@ toby的解决方案。而不是keypress使用keyup

$("#search-text").on("keyup",function(){
  $('#send').attr("href","results.php?search="+$(this).val());
})