Jquery 隐藏$post值后使用.live重置值
我正在使用Jquery 隐藏$post值后使用.live重置值,jquery,Jquery,我正在使用.livejQquery函数更新$post php脚本中的内容,该脚本在输入框上打开一个弹出窗口。问题是文本的值进入了输入字符串,但当弹出条fadesOut()时消失 } 这将调用一个php文件,该文件输出以下内容 <p id="searchresults"> <?php while ($result = $query ->fetch_object()) { if($result->live
.live
jQquery函数更新$post php脚本中的内容,该脚本在输入框上打开一个弹出窗口。问题是文本的值进入了输入字符串,但当弹出条fadesOut()
时消失
}
这将调用一个php文件,该文件输出以下内容
<p id="searchresults">
<?php
while ($result = $query ->fetch_object()) {
if($result->liveSearchID != $catid) { // check if the category changed
echo '<a href="" class="category">'.$result->Keyword.'</a>';
$catid = $result->liveSearchID;
}
?></p>
我为你们在我的服务器上放了一个测试链接
请使用意大利面作为测试文本
visit http://122.160.94.46/autoSuggest1/
也许是空间
varval= $(this).text();
改为
var val= $(this).text();
针对较新的jQuery版本进行了返工:
$(document).ready(function() {
$(document).on('click',".category", function(){
var val= $(this).text();
$("#inputString").val(val);
});
});
请尝试在.category
上查找较低级别的容器,而不是将事件句柄附加到的“文档”
编辑:根据您发布的标记更改,您可能需要防止默认的链接单击。尝试此可选段:
$(document).ready(function () {
$('#searchresults').on('click', ".category", function (e) {
e.preventDefault();
var val = $(this).text();
$("#inputString").val(val);
return false;
});
});
这是一把正在工作的小提琴,显示了这一点,很好地工作…顺便说一句,我尝试了on函数,但它不起作用。发布你的HTML,通过这一点你什么都看不出来。@mindmyweb:你不能仅仅将
live
更改为on
并期望它也能工作。语法不同。注意,jQuery1.7中的live
方法在1.9中被删除。如果您在使其工作时遇到很多困难,您可能希望使用新方法。你检查过JavaScript错误控制台了吗?显然缺少一些东西?如果当某些东西消失时它消失了,那么消失的代码在哪里?正如其他评论中所指出的,停止使用live()。实际上,这两种情况下都称为varval
,虽然看起来很难看,但应该可以使用。注意:如果这不能解决问题,我们将需要更多的代码,markup envolved-包括修改页面的post代码。@tadman是的,它会按原样在文档上创建该属性,但是“on”在这里应该比“de擦亮的”。live
@markschultheis它说语法是错误的---语法错误:missing;before语句错误源行:[在此错误上中断]$(文档).On('click',“.category”)函数(){这应该是('click','.category',function()…
varval= $(this).text();
var val= $(this).text();
$(document).ready(function() {
$(document).on('click',".category", function(){
var val= $(this).text();
$("#inputString").val(val);
});
});
$(document).ready(function () {
$('#searchresults').on('click', ".category", function (e) {
e.preventDefault();
var val = $(this).text();
$("#inputString").val(val);
return false;
});
});