دسته بندی ها
01:11 1400/05/02

غیرفعال کردن (Disable) نودهای درخت در پلاگین JsTree

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : جی کوئری

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2158
پاسخ دهنده : fateme 01:17 1400/05/02

برای غیرفعال کردن نودهای درخت در پلاگین JsTree در ابتدا باید لیستی از نودهایی که میخواید فعال باشن رو ایجاد کنید. این لیست رو از بخش کنترلر توسط ViewBag به View ارسال کنید :

ViewBag.ypurlist = JsonConvert.SerializeObject(Query.Select(t => t.ID).ToList());

خب حالا این لیست رو باید توسط جی کوئری دریافت کنید :

var idlist = [];
idlist = '@ViewBag.yourlist';

حالا توسط متد disable_node میتونید لیستی از نودهای فعال رو مشخص کنید و بقیه غیر فعال:

 

<script>
     $(function () {
         $("#jstreeteacher").on("changed.jstree", function (e, data) {
            }).jstree({
                "core": {
                    "themes": {
                        "variant":"large"
                    },
                    "data":  @Html.Raw(ViewBag.teacherJson) ,
                },
                "checkbox": {
                    "Keep_selected_style":false
                },
                "plugins": ["checkbox"],
                checkbox: { three_state: false, cascade: "" }
            }).on("loaded.jstree", function () {
                $.jstree.reference('#jstreeteacher').open_all();

                var idlist = [];
                idlist = '@ViewBag.yourlist';
                for (var i = 0; i < idlist.length; i++) {
                    $.jstree.reference('#jstreeteacher').disable_node(idlist[i]);
                }
            });
     });
</script>

خروجی مشابه با تصویر زیر خواهد بود :

غیرفعال کردن نودها در JsTree

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود