qq_27446037
2015-12-18 02:43
采纳率: 29.3%
浏览 5.0k
已采纳

为什么点击文字时,相应的radio或者是checkbox没有勾选

代码如下
//第一个树
if(<%=value1%>!="1"){
var setting1 = {
check: {
enable: true,
chkStyle: "<%=chose1%>",
<%=type1%>Type: <%=typeValue1%>
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeClick: beforeClick,
onCheck: onCheck,

        }
    };
    var zNodes1 =<%=value1%>;
    function beforeClick(treeId, treeNode) {
        var zTree = $.fn.zTree.getZTreeObj("treeDemo1");
        if(treeNode.id.indexOf(".")==-1){
            zTree.expandNode(treeNode);
        }else if(treeNode.id.indexOf(".")!=-1 &&treeNode.id.length == 3 ){
            zTree.expandNode(treeNode);
        }else{
            zTree.checkNode(treeNode, !treeNode.checked, null, true);
        }
        return false;
    }
        function onCheck(e,treeId,treeNode){
            var checkPerson1= document.getElementById("checkPerson1");
            var treeObj=$.fn.zTree.getZTreeObj("treeDemo1");
            nodes=treeObj.getCheckedNodes(true);

            var  id1="";
            for(var i=0;i<nodes.length;i++){
                if(nodes[i].id!=""){
                    id1+="{'userId':'"+nodes[i].id+"','userName':'"+nodes[i].name+"','deptId':'"+nodes[i].deptId+"','userRole':'"+nodes[i].userRole+"','nextNodeType':'"+nodes[i].nextNodeType+"'};";
                     //alert("pppppp"+id1);
                }
            }
            checkPerson1.value=id1;
        }

    $(document).ready(function(){
        $.fn.zTree.init($("#treeDemo1"), setting1, zNodes1);
    });
 }
function showMenu() {
    var cityObj = $("#citySel");
    var cityOffset = $("#citySel").offset();
    $("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");

//  $("body").bind("mousedown", onBodyDown);
}
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

    ztree前面是模拟的,不是checkbox,radio对象,需要自己添加onClick事件,然后调用checkNode方法进行操作

    ztree点击文字勾选checkbox,radio实现方法

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 月苍 2015-12-18 02:56

    你没有用label吧?

    评论
    解决 无用
    打赏 举报
  • 毕小宝 2015-12-18 04:24

    浏览器的开发者模式下调试下,看看控制台有没有错误信息。

    评论
    解决 无用
    打赏 举报
  • ITDragon龙 2015-12-18 05:06

    如果你只是想做到:点击文字,对应的radio和checkbox被选中的话,其实只需要加label标签即可

      radio:<label><input type="radio" name="sex"/>男</label>  
                    <label><input type="radio" name="sex"/>女</label> 
    

    找问题可以打开浏览器调试工具,可能是某句话错误导致后面内容没有执行

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题