gpt4 book ai didi

javascript - 搜索结果链接

转载 作者:行者123 更新时间:2023-11-28 09:17:14 26 4
gpt4 key购买 nike

我的网站上目前有一个职位委员会,用户可以在其中输入职位名称或关键字以及搜索职位的位置。

结果使用 Jquery/AJAX 显示,无需刷新页面。但是,我希望能够链接到特定搜索的结果。例如,如果我搜索俄亥俄州的网络开发职位,我希望能够向其他人发送链接,他们可以点击该链接并直接转到已加载结果的页面。

我有一些 PHP 知识,但不懂 Ajax 或 Javascript/Jquery,这就是为什么这对我来说如此困难。我希望有人能帮助我解决这个问题。

这是当前显示结果的代码:

  jQuery(document).ready(function ($) {
// search button clicked
jQuery("input[name='indeedsearchbutton']").click(function () {
indeedsearchbusy();
indeedsearchcall();
})

// reset page if query changes
jQuery("input[name='q']").change(function () {
jQuery("input[name='start']").val(1);
})

// reset page if location changes
jQuery("input[name='l']").change(function () {
jQuery("input[name='start']").val(1);
})

if (autosearch) {
indeedsearchbusy();
indeedsearchcall();
}
})

// pagination set start position
function setstart(s) {
jQuery("input[name='start']").val(s);
indeedsearchbusy();
indeedsearchcall();
}

// get json data from inputs for ajax call
function getdata() {
var d = {
action: 'indeedcallback',
q: (jQuery("input[name='q']").length != 0 ? jQuery("input[name='q']").val() : jQuery("select[name='q']").val()),
l: jQuery("input[name='l']").val(),
start: jQuery("input[name='start']").val()
}
return d;
}

// display json results from ajax call
function indeeddisplayresults(resultsjson) {
var rpage = "";
if (resultsjson.pagination) rpage += resultsjson.pagination;

if (resultsjson.html) rpage += resultsjson.html;

if (resultsjson.pagination) rpage += resultsjson.pagination;

jQuery("div#indeedsearchresults").html(rpage);
}

// ajax call to search indeed
function indeedsearchcall() {
var data = getdata();
jQuery.post(wpajaxurl, data, function (response) {
resultjson = eval("(" + response + ")");
if (resultjson) {
indeeddisplayresults(resultjson);
}
})
}

最佳答案

我只会使用 URL 和某种 hashbang (GETish) 功能。因此,每次有人进行搜索时,URL 都会发生变化,并且每次加载页面时,它都会在 URL 中查找搜索参数,如果存在,则运行搜索...

有一个很好的 GIST 对此有完整的解释,如下代码:https://gist.github.com/miohtama/1570295

function parseHashBangArgs(aURL) {

aURL = aURL || window.location.href;

var vars = {};
var hashes = aURL.slice(aURL.indexOf('#') + 1).split('&');

for(var i = 0; i < hashes.length; i++) {
var hash = hashes[i].split('=');

if(hash.length > 1) {
vars[hash[0]] = hash[1];
} else {
vars[hash[0]] = null;
}
}

return vars;

}

好的,关于如何使用它的问题:我已经制作了一个工作示例(下面的代码),但是您必须在自己的代码中实现(我不能为您做所有事情)...

<input id="searchBar" type="text" value="enter search here" /><br />
<input id="theButton" type="button" name="" value="getHash" /><br />
Hash value is: <a id="hashValue"></a>

jQuery(document).ready(function ($) {
$('#searchBar').change(function() {
search(document.getElementById('searchBar').value)
});
$('#theButton').click(function() {
getHash();
});
})
function search(searchTerms){
location.hash = "searchTerm="+searchTerms;
}

function getHash(){
var hashObj= new Object();
hashObj=(parseHashBangArgs())
document.getElementById('hashValue').innerHTML=hashObj.searchTerm;
}

function parseHashBangArgs(aURL) {
... code from GIST above...

关于javascript - 搜索结果链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15512846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com