2017-09-22 1 views
0
<ul class="dropdown-menu" id="parent">  
@foreach($cat as $category) 

    <li class="dropdown-submenu"> 
     <a id={{$category->id}}>{{$category->category_name}}</a> 
    </li> 

@endforeach 

를 얻을 그리고 항상 나에게 항상 원하는 데이터베이스이 내 스크립트 동적 속성 값

$("#parent li a").click(function(){ 
    var id = $('#parent li a').attr('id'); 
    alert(id); 
}); 
+1

var id = $ (this) .attr ('id'); – okante

+0

'.attr()'은 일치하는 요소 세트의 첫 번째 요소에 대한 속성 값을 가져옵니다. Jquery API https://api.jquery.com/attr/ – shanechiu

+0

@ Arslan Akram에서 찾을 수 있습니다. 가장 좋은 답변을 모두 받아주십시오. –

답변

7

변경에서 오는 값을 변경 한

것과 동일한 값을 제공하는 방법 이 같은 jQuery를 기능 :

$("#parent li a").click(function(){ 

    var id = $(this).attr('id'); // use `this` 

    alert(id); 
}); 

주 당신이를 사용한 코드은 항상 <li>의 첫 번째 <a>을 잘못 생각합니다.

this은 클릭 한 요소를 나타냅니다. 따라서 올바른 값을 얻을 수 있습니다. click 이벤트 내에서

+0

이렇게하면 문제가 해결됩니다. –

1

당신이 클릭 된 요소로 $(this)를 사용할 수 있습니다

$('#parent li a').click(function() { 
    var id = $(this).attr('id'); 
    alert(id); 
}); 
4

값 내가하는 수 임의의 데이터를 지속 할 data-* 사용자 정의 속성을 사용하는 방법을 추천 할 것입니다

데이터베이스에서 온다 현재 요소 컨텍스트 에서 .data(key)을 사용하여 반입됩니다.이입니다.

<li class="dropdown-submenu"> 
    <a data-id="{{$category->id}}">{{$category->category_name}}</a> 
</li> 
1

당신이 당신의 클릭 핸들러 this 기준 내에서 사용하는 경우

$("#parent li a").click(function(){ 
    var id = $(this).data('id');  
}); 
- 당신이 적절한 id 당신이 찾고있는 속성에 액세스 할 수있는 것보다,이 경우 클릭 된 요소입니다.

$("#parent li a").click(function(){ 
    var id = $(this).attr('id'); 
    alert(id); 
});