2011-10-28 12 views
0
<ul ="staffTree"> 
    <li> 
     <input type="checkbox" name="selectedNode" id="selectedNode" value = "Manager"> 
     Manager 
     <ul> 
      <li> 
       <input type="checkbox" name="selectedNode" id="selectedNode" value = "AsstManager"> 
       Asst. Manager 
       <ul> 
        <li> 
         <img src="images/not_allowed.png" title="Not Allowed"> 
         Staff Member 1 
        </li> 
        <li> 
         <img src="images/not_allowed.png" title="Not Allowed"> 
          Staff Member 2 
        </li> 
        <li> 
         <img src="images/not_allowed.png" title="Not Allowed"> 
          Staff Member 3 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 

この例では、スタッフのチェックボックスは存在しないため、Asstの入力フィールドを置き換えます。その "Not Allowed"イメージを持つマネージャ。 任意のチェックボックスが存在する場合は、親にはチェックボックスも含まれます。スーパー親(マネージャー)も持っています。ツリーはNレベルになります。JQueryで子LIにチェックボックスが存在しない場合、LIの親チェックボックスを削除する方法

私はそれのためのjQueryセレクタを作ろうとしています。そしてそれにポインタが必要です。ここ

+0

であるあなたはID = selectedNodeの持つ複数の入力要素を持っています。 HTML要素のIDは一意でなければなりません。あなたのHTMLは無効です。 –

+0

私はそれを修正しています。 –

答えて

1
$('#staffTree li > input:checkbox').each(function() { 
    var $this = $(this); 
    if ($this.siblings().has('li > input:checkbox').length) { 
    return; 
    } 
    $this.replaceWith('<img src="images/not_allowed.png" title="Not Allowed">'); 
}); 

はフィドルhttp://jsfiddle.net/823vR/

+0

編集していただきありがとうございます。 1)スタッフメンバー1 liに入力チェックボックスがある場合。それはまた、Asstマネージャを代償(交換)します。そうしてはいけません。 2)スタッフ全員がイメージを持っているなら、トップマネージャーがイメージを持っています。その上の任意のポインタ? –

+0

@TahirAkram 1)これは真実ではありませんhttp://jsfiddle.net/823vR/1/です。 2)これは真実ではない。あなたが話す両方のケースを処理することがわかったら、フィドルで遊んでください。 –

+0

ジョンは私にそれを遊ばせました。 –

関連する問題