$("#showKey").each(
$(this).click(function(){
alert($(this).attr("value"));
})
);
和
<a id="showKey" href="#" value="{{ customer.key }}">
<span class="icons icon-key"></span>
Show key
</a>
警报给出和未定义的输出,只是'未定义'。我有一个客户列表,点击#showKey应该显示被点击的客户的密钥。
我的代码出了什么问题?
答案 0 :(得分:6)
您不能拥有多个具有相同ID的元素 - 请改用类。此外,您不需要调用.each - 而是使用类选择器:
$(".showKey").click(function(){
alert($(this).data("key"));
);
<a class="showKey" href="#" data-key="{{ customer.key }}">Show key</a>
答案 1 :(得分:3)
您可以使用data
属性:
<a id="showKey" href="#" data-value="{{ customer.key }}">
<span class="icons icon-key"></span>
Show key
</a>
$("#showKey").click(function(){
alert($(this).data("value"));
})
答案 2 :(得分:1)
您不需要jQuery each功能。
$("#showKey").click(function(){
alert($(this).attr("value"));
});
答案 3 :(得分:0)
您的代码存在问题在于
$("#showkey").each({...});
您应该只使用
$("#showkey").click({function(){
alert( $this).val() );
}
});
将click事件绑定到每个showkey id'd元素。