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;
    });
});