Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jquery函数不适合我_Php_Jquery_Html - Fatal编程技术网

Php jquery函数不适合我

Php jquery函数不适合我,php,jquery,html,Php,Jquery,Html,我正在学习jquery。我写了一个脚本,但它不起作用 1我的HTML <ul id="recur" class="elasticstack"> <li id=<?=$item['id']?>>.......</li> .................................... </ul> 我的错误在哪里?谢谢大家 我认为您在同一html中有更多id“重现”。 检查jquery库版本以获取live函数。您可

我正在学习jquery。我写了一个脚本,但它不起作用

1我的HTML

<ul id="recur" class="elasticstack">
    <li id=<?=$item['id']?>>.......</li>
    ....................................
</ul>
我的错误在哪里?谢谢大家

我认为您在同一html中有更多id“重现”。 检查jquery库版本以获取live函数。您可以在HTML中使用1.8版本的库

<ul id="recur" class="elasticstack">
    <li id="<?=$item['id']?>" >.......</li>
    ....................................
</ul>

首先,您省略了希望为每个
  • 元素处理的事件。让我们假设现在点击

    如果您使用的是jQuery>1.9,则不能使用
    .live()
    。相反,在事件委派中使用
    .on()

    $('#recur').on('click', 'li', function(e) {
        var id = this.id;
        $.ajax({
            url: 'myUrl',
            type: 'POST',
            dataType: 'json',
            data: {propertyId: id}
        }).done(function(data) {
            console.log(data);
        });
    });
    

    您缺少id中的引号。请尝试以下操作:

    <ul id="recur" class="elasticstack">
        <li id="<?=$item['id']?>">.......</li>
    </ul>
    
    不要使用
    .live()
    方法。现在不推荐使用。使用.find()方法可以获得更好的性能

    如果您在日常添加项目,并且希望在每次添加项目时显示数据,则可以使用插件,并执行以下操作:

    function viewDetails(){
        $('#recur li').livequery(function(){
                var id = $(this).attr('id');
                $.ajax({
                    url:'myUrl'
                    ,type:'post'
                    ,dataType:'json'
                    ,data:{propertyId:id}
                    ,success:function(data){
                        console.log(data);
                    }
                });
        });
    }
    

    你犯了什么错误?什么不起作用?也许可以澄清一点/更详细地阐述你的问题。注意:
    live()
    是从jQuery 1.7开始折旧的。基本的,您包括jQuery了吗?已在jQuery 1.9中删除。看,您可能想考虑<代码> $>后缀()>代码> >我看到几个错误(1)<代码> .live(“事件”,处理程序)< /> >(2)<代码> . LIVER()/代码>在1.9.(3)<代码> > VIEWDEXILLIVE()> /代码>从未被调用--没有“事件”绑定,没有AJAX运行.为什么<代码>数据< /代码>属性需要是一个数组?
    <ul id="recur" class="elasticstack">
        <li id="<?=$item['id']?>">.......</li>
    </ul>
    
    function viewDetails(){
        $('#recur').find('li).each(function(){
            $(this).on('click', function(){
                var id = $(this).attr('id');
                $.ajax({
                    url:'myUrl'
                    ,type:'post'
                    ,dataType:'json'
                    ,data:{propertyId:id}
                    ,success:function(data){
                        console.log(data);
                    }
                });
            });
        });
    }
    
    function viewDetails(){
        $('#recur li').livequery(function(){
                var id = $(this).attr('id');
                $.ajax({
                    url:'myUrl'
                    ,type:'post'
                    ,dataType:'json'
                    ,data:{propertyId:id}
                    ,success:function(data){
                        console.log(data);
                    }
                });
        });
    }