2011-01-15 4 views
3

다음 목록은 id # sortable1 인 정렬되지 않은 목록을 가지고 있습니다. li 요소를 클릭 할 때마다 달성하고자하는 것은 <입니다. ul id = "sortable2"> onclick 이벤트가 발생하고 클릭 한 li 요소에서 ID를 알려야합니다. 나는 붙어있어 클래스 = "emptyMessage"jquery on click 이벤트가 정렬되지 않은 목록의 목록 항목에 대해 작동하지 않습니다.

에 클릭 할 수는 안되며 지금까지 내가 가지고

을 진행하는 방법을 알고 해달라고도 정렬되지 않은 목록에서 하나 개의 요소가

<ul id="sortable1" class="connectedSortable ui-sortable"> 
<li class="ui-state-default" id="1">Name1</li> 
<li class="ui-state-default" id="2">Name2</li> 
<li class="ui-state-default" id="3">Name3</li> 
<li class="ui-state-default" id="4">Name4</li> 
<li class="ui-state-default" id="5">Name5</li> 
<li style="display: list-item;" class="emptyMessage">No more contacts available</li></ul> 

내 JQUERY 코드

$("#sortable1 li").click(function() { 
      alert('Clicked list.'+$(this).value); 
     }); 

답변

11

이 그것을 수행해야합니다

$("#sortable1 li").not('.emptyMessage').click(function() { 
     alert('Clicked list. ' + this.id); 
}); 

데모 : http://www.jsfiddle.net/gztRq/2/

+0

그래,'.text()'가 더 나은 선택입니다. – Skilldrick

+0

그러나 그는 질문에 ID를 물어 봤어 :) –

0

자바 스크립트에 구문 오류가 있습니다. 그것은해야한다 :

$("#sortable1 li").click(function() { 
    alert("Clicked list." + $(this).value); 
}); 

는 또한, 당신이 $(this).value하지 $(this).html() 의미 생각 - <li>들에 값이없는 (그리고는 jQuery를 객체에 .val()을 것을).

Here's a working version.

+0

'.val()'도'li' 노드에서 작동하지 않습니다. – jAndy

+0

@jAndy - 예, 방금 발견했습니다. – Skilldrick

+0

예 val 대신 Val을 의미했습니다 – Roland

0

어쩌면 잘못된 선택을? 여기에 내 코드 (잘 작동합니다)입니다 :

<html> 
    <head> 
     <title>MooExample</title> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $("#sortable1 > li").click(function() { 
        alert($(this).html()); 
       }); 
      }); 
     </script> 
    </head> 

    <body> 
     <ul id="sortable1" class="connectedSortable ui-sortable"> 
      <li class="ui-state-default" id="1">Name1</li> 
      <li class="ui-state-default" id="2">Name2</li> 
      <li class="ui-state-default" id="3">Name3</li> 
      <li class="ui-state-default" id="4">Name4</li> 
      <li class="ui-state-default" id="5">Name5</li> 
     </ul> 
    </body> 
</html> 

는 UPD : 내가, 내가 <li> 항목이 더 발() 속성이 없습니다 죄송합니다 생각 해요 =)

+0

나는 많은 구문 오류가 있었다. lol – Roland

+0

@shyboyycha - emptyMessage 클래스가 없습니다. – jmort253

2
$("#sortable1 > li.ui-state-default").click(function() { 
    alert("Clicked list " + $(this).attr("id")); 
}); 
0

사용이 될 더 구체적으로 선택하는 동안

$(document).ready(function() { 
    $("ul#sortable1 li").click(function() { 
    alert("Clicked list." + $(this).text()); 
}); 
}); 
관련 문제