jQuery MiniUI

标题: Tree中如何只获取leaf的值? [打印本页]

作者: saillee    时间: 2013-8-3 00:30:00     标题: Tree中如何只获取leaf的值?

本帖最后由 saillee 于 2013-8-3 00:31 编辑

在tree多选的情况下,如何只获取leaf的值?
下面是我现在的解决方案,不知道各位大牛有没有更好的。(提示:下面的代码为CoffeeScript,修改自TreeSelectWindow.js)

  getData: ->
    nodes = []
    if @multiSelect is true
      nodes = @tree.getCheckedNodes()
    else
      node = @tree.getSelectedNode()
      nodes.push node  if node
    ids = []
    texts = []
    levels = []
    i = 0
    l = nodes.length

    while i < l
      node_get = nodes
      if @leafOnly is true
        if @tree.isLeaf(node_get) is true
          ids.push node_get.id
          texts.push node_get.text
          levels.push @tree.getLevel(node_get)
        i++
      else
        ids.push node_get.id
        texts.push node_get.text
        levels.push @tree.getLevel(node_get)
        i++
    data = {}
    data.id = ids.join(",")
    data.text = texts.join(",")
    data.level= levels.join(",")
    data



作者: felt    时间: 2013-8-3 01:16:35

getValue(false)
作者: saillee    时间: 2013-8-5 02:09:28

felt 发表于 2013-8-3 01:16
getValue(false)

谢谢您的关注,能举个例子或再详细解说下吗?
作者: felt    时间: 2013-8-5 09:03:21

能举个例子或再详细解说下吗?

比如说你选择的情况如图。[attach]2474[/attach]你用getValue(false)的话只会获取到子节点的值,而base和forms这两个节点的值不会获取到。





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2