Javascript 搜索结果链接

Javascript 搜索结果链接,javascript,jquery,ajax,Javascript,Jquery,Ajax,我目前在我的网站上有一个工作板,用户可以在上面输入一个工作标题或关键字以及一个搜索工作的位置 结果使用Jquery/AJAX显示,无需页面刷新。但是,我希望能够链接到特定搜索的结果。例如,如果我在OH中搜索web开发职位,我希望能够向其他人发送一个链接,这些人可以单击该链接并直接转到已加载结果的页面 我有一些PHP知识,但没有Ajax或Javascript/Jquery,这就是为什么这对我来说如此困难的原因。我希望有人能帮我 以下是当前显示结果的代码: jQuery(document).re

我目前在我的网站上有一个工作板,用户可以在上面输入一个工作标题或关键字以及一个搜索工作的位置

结果使用Jquery/AJAX显示,无需页面刷新。但是,我希望能够链接到特定搜索的结果。例如,如果我在OH中搜索web开发职位,我希望能够向其他人发送一个链接,这些人可以单击该链接并直接转到已加载结果的页面

我有一些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以查找搜索参数,如果存在,则会运行搜索

关于这一点,有一个很好的要点,下面是对代码的完整解释:

}

好的,关于你关于如何使用这个的问题:我在下面制作了一个工作示例代码,但是你必须在你自己的代码中实现,我不能为你做任何事情

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

我以前确实见过这个,但问题是我不知道如何实现它。我以前从未做过这样的工作;上面的代码来自我正在使用的免费WordPress插件。你有什么办法帮我吗?谢谢我认为这行不通。有一个PHP文件使用cURL获取信息,它使用了大量其他数据。我真的很困惑。对不起,但是这个例子很有效,哈哈。。。如果你因为某种原因无法理解,那就意味着你还有另一个问题。并不是说我的答案是错的。。。
<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...