jQuery MiniUI

 找回密码
 立即注册
查看: 3852|回复: 6
打印 上一主题 下一主题

miniui下拉树mini-treeselect问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-4-5 16:40:01 |只看该作者 |倒序浏览
在使用mini-treeselect控件时,对控件设置了valueFromSelect="true" allowInput="true"属性,并做了只能选择叶子节点的控制,但当输入父节点的ID进行模糊查询后并失去焦点时,treeselect的value和text均被赋值,进而保存到了后台。
我想在任何情况下父节点都不能被选中,但是模糊匹配功能要有,请问有什么好的解决方法么?

Rank: 3Rank: 3

沙发
发表于 2017-4-5 16:42:41 |只看该作者
代码补充:
<input id="XXX" name="XXX" class="mini-treeselect" data="" multiSelect="false" virtualScroll="true"
                                                textField="text" valueField="id" parentField="pid" value="" valueFromSelect="true" allowInput="true"
                                                showRadioButton="false" showFolderCheckBox="true"  style="width:120px" panelHeight='auto' panelWidth='auto' pinyinField="id" checkRecursive="true"  popupWidth='360px'
                                                onValueChanged="XXX()" onbeforenodeselect="beforenodeselect" />

function beforenodeselect(e) {
    //禁止选中父节点
    if (e.isLeaf == false) e.cancel = true;
}

Rank: 8Rank: 8

板凳
发表于 2017-4-5 18:44:52 |只看该作者
Goldfish 发表于 2017-4-5 16:42
代码补充:

beforenodeselect只能禁止鼠标点击的选择,并不能阻止你输入的内容。你这可以加一个验证,如果是父节点,就提示一下

Rank: 3Rank: 3

地板
发表于 2017-4-6 09:21:15 |只看该作者
felt 发表于 2017-4-5 18:44
beforenodeselect只能禁止鼠标点击的选择,并不能阻止你输入的内容。你这可以加一个验证,如果是父节点, ...

我是想这么做,但是找不到类似于isLeaf的属性
function leafOnly(e) {
    if (e.source.getSelectedNode()._level == 0){
            e.source.setValue("");
            e.source.setText("");
    }
}

Rank: 3Rank: 3

5#
发表于 2017-4-6 09:25:00 |只看该作者
Goldfish 发表于 2017-4-6 09:21
我是想这么做,但是找不到类似于isLeaf的属性
function leafOnly(e) {
    if (e.source.getSelectedNode ...

我现在这个只能判断根节点,层级结构发生变化就无效了。其次,若根节点同时也是子节点,isLeaf是可以将其当做子节点处理,我现在的这个不可以。
请问有什么好的方法么?

Rank: 8Rank: 8

6#
发表于 2017-4-6 11:53:55 |只看该作者
Goldfish 发表于 2017-4-6 09:25
我现在这个只能判断根节点,层级结构发生变化就无效了。其次,若根节点同时也是子节点,isLeaf是可以将其 ...

var selected=e.sender.tree.getSelected()
e.sender.tree.isLeaf(selected)

Rank: 3Rank: 3

7#
发表于 2017-4-6 14:23:35 |只看该作者
dforce 发表于 2017-4-6 11:53
var selected=e.sender.tree.getSelected()
e.sender.tree.isLeaf(selected)

非常感谢!

Archiver|普加软件

GMT+8, 2024-11-26 06:32 , Processed in 1.078369 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部