请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 1921|回复: 1

关于ajax的一个问题

[复制链接]
发表于 2014-8-30 02:00:27 | 显示全部楼层 |阅读模式
本人新手

看了老大的关于ajax在sp中运用的例子,有点启发
现在想问一下的是:
比如:在第一个例子中,ajax代码为:

    $(document).ready(function(){

        $('#num_btn').click(function(){
            var numval = $('#get_num').val();
            $.get('<{spUrl c=myajax a=count}>', 'num='+numval, function(result){
            $('#ex1result').html(result); // 返回的数据直接显示在id=ex1result的span中。
            });
        });
   
    });

现在我从数据库中查询出很多记录(每次查询记录不同),用foreach语句将每条记录我生成一个<li>选项,每个选项如:
<li>
          <span id="num_btn">">要计算的数字为:<{$num}></span>
         <input type="hidden" id="get_num>" value="<{$num}>">
</li>

我想要当分别点击这些<li>中的项时,都能调用上面的ajax代码计算,但问题是现在只有第一个<li>触发了计算,我想了下,问题可能是
生成的<li>项中的id都是一样的"num_btn"原因,但如果定义成不同的id,ajax代码中如何判断是哪个id被点击了呢?比如:
<li> <span id="num_btn1" ....</li>
<li> <span id="num_btn2" ....</li>
<li> <span id="num_btn3" ....</li>
当分别点击时,ajax如何判断是哪个被点击并进行计算

 楼主| 发表于 2014-8-30 02:26:20 | 显示全部楼层
嗯,自己在网上收索了一下,找到答案了,写出来让其它新人参考,高手不要拍砖

首先可以css中定义一个空类如: .tmp{}

然后
<li> <span class="tmp" id="num_btn1<{$num}>"  name="<{$num}></li>

ajax代码:

        $(document).ready(function(){               
                $('.tmp').live('click', function(){    //用类名来判断是哪个被点击
                        var numval = $(this).attr('name');
                        $.get('<{spUrl c=cCartshop a=addproduct}>', 'proid='+numval, function(result){
                        $('#showcardnums').html(result); // 返回的数据直接显示在id=ex1result的span中。
                        });
                });
               
        });
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-8-11 08:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表