1
>[\] Group
   >[\] Subgroup
      [] Item
      [] Item
      ...
   ...
...

私は実演のような木を持っています。選択できない[\]ことを意味し、選択できるチェックボックスを表します。[]

グループまたはサブグループをクリックすると、次のようになります。

  • クリックしたグループ/サブグループの下にあるすべての子を展開します
  • 以下の全項目を選択(2度目の場合は非選択)

クリックすると、次の>ことのみが暗示されることを望みます。

  • クリックしたグループ/サブグループの下にあるすべての子を展開します

今のところ私のコードは次のようになります。

createNode: (event, data) ->
    kind = data.node.data.k
    pk = data.node.data.i

    if objects?[pk]
        data.node.setSelected()

    if kind isnt 'c'
        $(data.node.li).find('span.fancytree-checkbox').remove()

beforeSelect: (event, data) ->
    if data.node.data.k isnt 'c'
        return false

    if data.node.isSelected() and data.node.parent.isSelected()
        return false
click: (event, data) ->
    data.node.visit (child) ->
        console.log data.node.data.k 
        child.makeVisible()
        if child.data.k is 'c'
            child.setSelected(data.node.selected)

と:

ajax: ifModified: true キャッシュ: true

checkbox: true
selectMode: 2
debugLevel: 0
generateIds: false

filter:
    mode: 'hide'

今のところ、「>」をクリックすると下の子が表示および非表示になるという問題があります。

チェックを適切に行う方法:

event.originalEvent.target is 'fancytree-expander'

これは機能していません。

4

1 に答える 1

2

これは私の問題を解決しました:

        tt = $.ui.fancytree.getEventTargetType(event.originalEvent)
        if tt isnt 'expander'
于 2014-04-23T15:31:20.677 に答える