jsTree에서 변경 한 내용을 데이터베이스에 저장하고 싶습니다. 나는 다른 방법을 시도했으나 작동하지 않습니다. 나는 codeigniter에서 일하고있다. 가능하면 도와주세요. 고맙습니다. 여기 내 코드는, view.php :jsTree의 변경 사항을 다시 데이터베이스에 저장하는 방법은 무엇입니까?
<button id="target" type="submit">Click here</button>
<script type="text/javascript">
$(document).ready(function() {
$('#tree-container').on('changed.jstree', function (e, data) {
var i, j, r = [];
// var state = false;
for (i = 0, j = data.selected.length; i < j; i++) {
r.push(data.instance.get_node(data.selected[i]).id);
}
$('#txttuser').val(r.join(','));
}).jstree({
'plugins': ["checkbox", "dnd", "search", "contextmenu"],
'core': {
"check_callback" : true,
"multiple": true,
'data': {
"url": "getChildren",
"dataType": "json"
}
},
'checkbox': {
three_state: false,
cascade: 'up'
},
'plugins': ["dnd","contextmenu","search","wholerow"],
}
);
});
$("#target").click(function() {
var v =$('#tree-container').jstree(true).get_json();
var mytext = JSON.stringify(v);
alert(mytext); });
</script>
<div class="row">
<div class="container">
<input type="hidden" name="node" id="node" value="" />
<div class="form-group"> <div id="tree-container"></div>
</div>
</div>
</div>
controller.php :
function getChildren() {
$this->load->model('Category_model');
$result = $this->Category_model->tree_all();
$itemsByReference = array();
// Build array of item references:
foreach($result as $key => &$item) {
$itemsByReference[$item['category_id']] = &$item;
// Children array:
$itemsByReference[$item['category_id']]['children'] = array();
// Empty data class (so that json_encode adds "data: {}")
$itemsByReference[$item['category_id']]['data'] = new StdClass();
}
// Set items as children of the relevant parent item.
foreach($result as $key => &$item)
if($item['parent_id'] && isset($itemsByReference[$item['parent_id']]))
$itemsByReference [$item['parent_id']]['children'][] = &$item;
// Remove items that were added to parents elsewhere:
foreach($result as $key => &$item) {
if($item['parent_id'] && isset($itemsByReference[$item['parent_id']]))
unset($result[$key]);
}
foreach ($result as $row) {
$data[] = $row;
}
// Encode:
echo json_encode($data);
}
model.php :
function tree_all() {
$result = $this->db->query("SELECT category_id, category,category as text, parent_id FROM category ")->result_array();
foreach ($result as $row) {
$data[] = $row;
}
return $data;
}
Pleeaaase의 heeelp의 MEEE! 나는 이것을 며칠 동안 알아 내려고 노력하고있다.
** 나는이 선으로 ** 내가 다시 데이터베이스에 jsTree에 변경 한 내용을 저장하려면 jstree 체크 박스에서 선택/선택 해제 했습니까? –
아니요. n 드롭을 작성, 제거, 이름 바꾸기, 편집 및 드래그합니다. –
너를 못 만나요! –