2011-01-15 16 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

JavaScriptに構文エラーがあります。それは次のようになります。

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

はまた、私はあなたが$(this).html()を意味し、ないと思います$(this).value - <li> sが値を持っていない(と、それは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>アイテムが何のvalを(持っていないと思います)プロパティ=)

+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()); 
}); 
}); 
関連する問題