コードでdynaTreehttp://wwwendt.de/tech/dynatree/index.htmlを使用して、2レベルのツリーを表示しています。このツリーはで表示されselectMode = 3
、checkboxes
ユーザーがノードのチェックボックスをオンにすると、その親はに変わりますgray mode
。
次の段階で、ユーザーがボタンをクリックすると、選択したすべてのノードがサーバーに送信されて処理されます。私がやりたいのは、すべてのgray mode
チェックボックスも送信することです。
どうすればこの目標を達成できますか?
編集:これはあなたが必要とするすべてのコードです
<html>
<head>
<link type="text/css" href="../css/ui.dynatree.css" rel="stylesheet">
<script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="../js/jquery.dynatree.min.js"></script>
<script type="text/javascript">
var treeData = [
{ key: "key1", title: "Text 1" },
{ key: "Key2", title: "Text 2",
children: [
{ key: "Key2_1", title: "Text 2_1" },
{ key: "Key2_2", title: "Text 2_2" },
]
},
];
$(function () {
$("#tree").dynatree({
checkbox: true,
selectMode: 3,
children: treeData,
imagePath: "../images/Tree/",
onSelect: function (select, node) {
var selKeys = $.map(node.tree.getSelectedNodes(), function (node) {
return node.data.key;
});
$('#textField').val(selKeys.join(", "));
}
});
});
</script>
</head>
<body>
<div id="tree"></div>
<input type="text" id="textField" value="" /><input type="button" id="button" onclick="alert($('#textField').val())" value="Send" />
</body>
</html>
を選択するKey2_1
と、Key2
に移動するgray state
と、テキストボックスにKey2_1
が追加されます。フィールドtextField
にもKey2を入れたいと思います。textField
注:との両方の子ノードをKey2_1
選択Key2_2
すると、親(key_2)も選択されますが、親(key_2)が選択されている場合は選択されません。gray mode