首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery函数不适合我。

jquery函数不适合我。
EN

Stack Overflow用户
提问于 2014-05-23 02:01:51
回答 3查看 73关注 0票数 0

我正在学习jquery。我写了一个剧本,但没有用

1我的HTML

代码语言:javascript
复制
<ul id="recur" class="elasticstack">
    <li id=<?=$item['id']?>>.......</li>
    ....................................
</ul>

2我的jquery函数

代码语言:javascript
复制
function viewDetails()
{
    $('#recur>li').live(function(){
        var id = $(this).attr('id');
        $.ajax({
            url:'myUrl'
            ,type:'post'
            ,dataType:'json'
            ,data:{propertyId:id}
            ,success:function(data){
                console.log(data);
            }
        });
    });
}

我的错误在哪里?谢谢大家!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-23 02:06:01

我想你在相同的html中有更多的id "recur“。查看jquery库版本以获得活动函数。您可以使用1.8版本的库

票数 1
EN

Stack Overflow用户

发布于 2014-05-23 02:13:32

首先,您忽略了要为每个<li>元素处理的事件。假设现在点击..。

如果您使用的是jQuery > 1.9,则不能使用.live()。相反,将.on()与事件委托一起使用

代码语言:javascript
复制
$('#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);
    });
});
票数 1
EN

Stack Overflow用户

发布于 2014-05-23 02:24:31

您缺少id中的引号。试试这个:

代码语言:javascript
复制
<ul id="recur" class="elasticstack">
    <li id="<?=$item['id']?>">.......</li>
</ul>

你不能拿到身份证因为不在那里。

完成jQuery部分的更好方法是:

代码语言:javascript
复制
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);
                }
            });
        });
    });
}

不要使用.live()方法。现在不受欢迎了。使用.find()方法可以获得更好的性能。

如果您正在添加项,并且希望每次添加项时都显示数据,则可以使用livequery.js插件,如下所示:

代码语言:javascript
复制
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);
                }
            });
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23819875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档