<ul class="dropdown-menu" id="parent">
@foreach($cat as $category)
<li class="dropdown-submenu">
<a id={{$category->id}}>{{$category->category_name}}</a>
</li>
@endforeach
这是我的脚本而且它总是给我相同的值1
我希望始终更改来自数据库的值
$("#parent li a").click(function(){
var id = $('#parent li a').attr('id');
alert(id);
});
答案 0 :(得分:7)
像这样更改你的jQuery函数:
$("#parent li a").click(function(){
var id = $(this).attr('id'); // use `this`
alert(id);
});
请注意
您使用的代码var id = $('#parent li a').attr('id');
将始终考虑第一个<a>
的第一个<li>
错误。
this
将引用被点击的元素。因此,您将获得正确的价值。
答案 1 :(得分:4)
值
我建议您使用data-*
自定义属性来保存可在当前元素上下文中使用.data(key)
获取的任意数据此。
$("#parent li a").click(function(){
var id = $(this).data('id');
});
<li class="dropdown-submenu">
<a data-id="{{$category->id}}">{{$category->category_name}}</a>
</li>
答案 2 :(得分:1)
在click
事件中,您可以使用$(this)
作为点击元素:
$('#parent li a').click(function() {
var id = $(this).attr('id');
alert(id);
});
答案 3 :(得分:1)
如果您在点击处理程序中使用this
引用(在本例中为单击元素),则可以访问您正在查找的正确id
属性。
$("#parent li a").click(function(){
var id = $(this).attr('id');
alert(id);
});