angel5980
جمعه 22 شهریور 1392, 12:05 عصر
سلام
میخوام یه ساختار درختی لود کنم ولی فقط زمانی که روی آیتم ها کلیک میشه بره و بچه ها رو صدا بزنه
برای لود کردن سر شاخه و یک سطح از فرزندانش مشکلی نداره ولی وقتی روی فرزند کلیک میکنم که بره فرزندهای احتمالی رو صدا کنه دیگه چیزی برام نمیاره چون متد کلیکی که دارم صدا میکنم دوبار لود میشه و هی اوررایت میشه
کسی میتونه به من کمک کنه ؟
این سرویسیه که صدا میزنم موقع فراخونی از دی بی :
public static IEnumerable GetItemsByParentID(int pID) { return from ctg in _ctx.Categories where ctg.CategoryParentID == pID select ctg; }
این ساختار تمپلیت هست که روی خروجی جیسون میخوام لود کنم
<ul>
{#foreach $T.d as post}
<li onclick="LoadChildren({$T.post.CategoryID})">
{$T.post.CategoryName}
<ol id="child{$T.post.CategoryID}"></ol>
</li>
{#/for}
</ul>
این فایل اسکریپت منه :
$(document).ready(function () {
$.ajax({
type: "POST",
url: "Default2.aspx/GetItemsByParentID",
data: "{'pID':'0'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$('#MyContainer').setTemplateURL ('MyCtg.htm',null, { filter_data: false });
$('#MyContainer').processTemplate(msg);
}
});
});
function LoadChildren(value) {
$.ajax({
type: "POST",
url: "Default2.aspx/GetItemsByParentID",
data: "{'pID':'"+value+"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$('#child'+value).setTemplateURL('MyCtg.htm',null, { filter_data: false });
$('#child' + value).processTemplate(msg);
}
});
}
من حتی از stopPropagation هم استفاده کردم ولی این فقط باعث شد که کلیک های بعدی روی ایتم های فرزند بی اثر بشه
میخوام یه ساختار درختی لود کنم ولی فقط زمانی که روی آیتم ها کلیک میشه بره و بچه ها رو صدا بزنه
برای لود کردن سر شاخه و یک سطح از فرزندانش مشکلی نداره ولی وقتی روی فرزند کلیک میکنم که بره فرزندهای احتمالی رو صدا کنه دیگه چیزی برام نمیاره چون متد کلیکی که دارم صدا میکنم دوبار لود میشه و هی اوررایت میشه
کسی میتونه به من کمک کنه ؟
این سرویسیه که صدا میزنم موقع فراخونی از دی بی :
public static IEnumerable GetItemsByParentID(int pID) { return from ctg in _ctx.Categories where ctg.CategoryParentID == pID select ctg; }
این ساختار تمپلیت هست که روی خروجی جیسون میخوام لود کنم
<ul>
{#foreach $T.d as post}
<li onclick="LoadChildren({$T.post.CategoryID})">
{$T.post.CategoryName}
<ol id="child{$T.post.CategoryID}"></ol>
</li>
{#/for}
</ul>
این فایل اسکریپت منه :
$(document).ready(function () {
$.ajax({
type: "POST",
url: "Default2.aspx/GetItemsByParentID",
data: "{'pID':'0'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$('#MyContainer').setTemplateURL ('MyCtg.htm',null, { filter_data: false });
$('#MyContainer').processTemplate(msg);
}
});
});
function LoadChildren(value) {
$.ajax({
type: "POST",
url: "Default2.aspx/GetItemsByParentID",
data: "{'pID':'"+value+"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$('#child'+value).setTemplateURL('MyCtg.htm',null, { filter_data: false });
$('#child' + value).processTemplate(msg);
}
});
}
من حتی از stopPropagation هم استفاده کردم ولی این فقط باعث شد که کلیک های بعدی روی ایتم های فرزند بی اثر بشه