用js将搜索出来的结果生成标签输出在页面,点击事件不起作用。

生成的a标签是有class的

$('.adminasd').on('keypress',function(){
        $('#resault tr:gt(0)').remove();
        var id=$(this).data('id');
       var str=$(this).val();
        $.ajax({
            url:"{:U('Index/ajaxadmin')}",
            type:'post',
            data:{
                'id':id,
                'title':str,
            },
            success:function(data){
                var arr = [];
                for(var item in data){
                    arr.push(data[item]);
                }

                var biaoqian="";
                var len=data.length;

                for(var i=0;i<len;i++){
                    biaoqian+='<tr><td>';
                    biaoqian+=arr[i]['user'];
                    biaoqian+='</td><td>';
                    if(arr[i]['group']==0){
                        biaoqian+='<a href="javascript:;" class="setadmin" data-uid=';
                        biaoqian+="'";
                        biaoqian+=arr[i]['id'];
                        biaoqian+="'";
                        biaoqian+=' data-group_id=';
                        biaoqian+="'";
                        biaoqian+=id;
                        biaoqian+="'";
                        biaoqian+='>设置为';
                        biaoqian+=arr[i]['name'];
                        biaoqian+='</a>';
                    }else{
                        biaoqian+='已经是'+arr[i]['name'];
                    }

                    biaoqian+='</td></tr>';

                }
                $('#resault').append(biaoqian);
            }
        })
    })

点击事件不起作用。

$('.setadmin').on('click',function(){
alert(1111);
        var uid=$(this).data('uid');
        var gid=$(this).data('group_id');
        $.ajax({
            url:"{:U('Index/add_group_access')}",
            type:'post',
            data:{
                'uid':uid,
                'group_id':gid,
            },
            success:function(data){
                alert(data);
                location.reload();
            }
        })
    })

如果把生成的标签取出来直接放在页面上点击事件是有效的

阅读 2.6k
3 个回答

动态添加原因,把操作放进一个函数,然后添加完成后调用这个函数,你在$('#resault').append(biaoqian);之后调用一次setadminclick();

function setadminclick(){
$('.setadmin').on('click',function(){
alert(1111);
        var uid=$(this).data('uid');
        var gid=$(this).data('group_id');
        $.ajax({
            url:"{:U('Index/add_group_access')}",
            type:'post',
            data:{
                'uid':uid,
                'group_id':gid,
            },
            success:function(data){
                alert(data);
                location.reload();
            }
        })
    });

}

$(document).on('click','.setadmin',function(){alert(1)});

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题