如何传递变量jquery标签onclick函数

时间:2016-11-18 06:28:29

标签: jquery

我在标签上使用此代码jquery onclick函数" citychoose"

<a href="#" onclick="citychoose('+ item +')" class="tags1">'+ item +'</a>

citychoose数据不起作用......如何调用函数

如何解决这个问题

function citychoose(data) {
   alert(data);
}

我的功能的完整代码

function panelHtml(data) {
    var html = '<div class="panel panel-primary">';
             html += '<div class="panel-heading">Search Your State</div>';
                 html += '<div class="panel-body">';
                    $.each(data, function(index , item){
                        /*html += "<a href='#' onclick='citychoose('"+ item +"')' class='tags1' id='hand'>"+ item +"</a>";*/
                        html += '<a href="#" onclick="citychoose('+ item +')" class="tags1">'+ item +'</a>';
                    });
                  html += '</div>';
    html += '</div>';
    return html;
}

function citychoose(data) {
   alert(data);
}

3 个答案:

答案 0 :(得分:1)

你传递价值的方式不对,试试这个:

<a href="#" onclick="citychoose(this.innerHTML);" class="tags1">'+ item +'</a>

检查下面提供的演示

function citychoose(data) {
  alert(data);
}
<a href="#" onclick="citychoose(this.innerHTML);" class="tags1">item</a>

答案 1 :(得分:1)

使用事件委托来动态添加元素

$(document).on('click', '.tags1', function(event) {
    event.preventDefault();
    citychoose($(this).text());
});
在每个方法中

删除onclick方法

$.each(data, function(index , item){
     html += '<a href="#" class="tags1">'+ item +'</a>';
});

function citychoose(data) {
   alert(data);
}

答案 2 :(得分:0)

试试这个,删除onclick

 $(function(){
        $(".tags1").click(function() {
            alert($(this).attr("item"));
        });
    });