我有一个搜索功能,想在搜索输入中显示搜索词。
我的网址是:search-1.html?keyword=XXXXXX
我如何得到它,并将其显示在输入中?
提前谢谢。
答案 0 :(得分:3)
使用此: http://ajaxcssblog.com/jquery/url-read-get-variables/
好运!
哦,然后您可以使用以下内容在输入字段中显示其值:
$("#inputId").val($.url.param("keyword"));
答案 1 :(得分:2)
如果网址中只有一个key=value
,您可以使用这样的简单正则表达式:
var theValueYouWant = window.location.href.match(/keyword=(.+)/)[1]
并设置像这样的输入值
$('input').val(theValueYouWant)
如果你想更彻底地解析GET字符串,这个函数应该这样做......
gets = {};
$.each(location.search.replace(/^\?/,'').split('&'),function(k,v){
bits = v.split('=');
gets[bits[0]] = bits[1];
});
答案 2 :(得分:1)
正则表达式解决方案:
var S = window.location.search; // "?keyword=..." etc.
var T = S.match(/^\?(?:[^\b]*&+)?keyword=([^&]*)/);
if (T)
T = T[1]
else
T = "no keywords found"
如果为“keyword”(e.x. ?keyword=XXX&keyword=YYY
)指定了多个值,则正则表达式只会找到第一个值(e.x. XXX
)。即使查询字符串中还有其他变量,此正则表达式也能正常工作。
答案 3 :(得分:0)
无jQuery解决方案:
<script type="text/javascript">
var $_GET=[],pairs=location.href.toString().substring(location.href.toString().indexOf("?")+1).split("&");for(key in pairs){pos=pairs[key].indexOf("=");$_GET[pairs[key].substring(0,pos)]=decodeURIComponent(pairs[key].substring(pos+1).replace(/\+/g," "))};
// Now just access with $_GET
// example...
keyword = $_GET["keyword"];
</script>