我有一个wordpress地理主题驱动的网站,用户可以在其中搜索事件。当我开始在文本框中写任何东西来搜索事件时,会出现一个自动完成建议(这是一个插件)。单击任何建议后,它将填充文本框,并将表单提交到索引页面。
但我需要在点击建议后填写文本框(目前正常)并将页面重定向到指向同一网站的另一个链接:http://sitename.com/events/text-comes-from-text-box
。
“text-comes-from-text-box” 是点击建议后将出现在文本框中的文本。
建议来自插件,建议来到此页面“review_searchform.php”。建议为<div id='ac_results'><ul><li>
。
我试图找出,如果我点击来自插件的<li>
正在响应。为此,我使用了这段代码
review_searchform.php
此页面,但它不起作用。我的代码如下,
<script type="text/javascript">
jQuery("#ac_results ul li").click(function() {
alert("test 2");
});
如果它可以工作,那么我会在这里添加重定向代码。 我认为要解决这个问题,它不需要PHP或WordPress功能。它只需要Javascript / jQuery。
答案 0 :(得分:2)
好的,我们可以说你的建议框是class="suggestion"
的div。
我们希望将页面重定向到此建议文本作为地址。
您的建议示例html
<div class="suggestion">Air Control Service</div>
点击此链接后,访问者必须访问此地址吗? :
http://sitename.com/events/Air-Control-Service
好的,然后编写我们的jquery代码。
$(document).ready(function(){ //Take care to conflict issue
$(".suggestion").on("click", function(){ //When visitor clicks your suggestion
var eventText = $(this).text(); //Get text from suggestion
eventText = eventText.replace(" ","-"); //Replace "-" for " "
var base = "http://sitename.com/events/"; //Set your base address
window.location.href = base + eventText; //Redirect your visitor
});
});
就是这样,我希望这会有所帮助。
修改:将我的脚本更改为.on()
版本。现在ajax也包含在事件中。
答案 1 :(得分:1)
window.location = your_url
会立即重定向您的浏览器
答案 2 :(得分:1)
$("#ac_results ul li").each(function () {
$(this).click(function () {
window.location = $(this).text();
});
});