PageSourceSearch

https://onlineamoozan.ir/Content/js/Searches.js?version=1.3

js onlineamoozan.ir collected 2026-09-28 08:58:46 UTC 10,999 bytes, 379 lines download raw bytes

1///////////////////////////////////////////////
2//راه اندازی رنج اسلایدر برای مشخص کردن بازه قیمت
3///////////////////////////////////////////////
4var slider = document.getElementById('price-slider');
5if (slider) {
6    var min = 0;
7    var max = 100000;
8    if ($("#MaxPrice").val())
9        max = parseInt($("#MaxPrice").val(), 10);
10    avg = max / 2;
11    noUiSlider.create(slider, {
12        pips: {
13            mode: 'range',
14            density: max
15        },
16        start: [min, max],
17        connect: true,
18        step: 10000,
19        direction: 'rtl',
20        orientation: 'horizontal', // 'horizontal' or 'vertical'
21        range: {
22            'min': min,
23            //'50%': avg,
24            'max': max
25        },
26        format: wNumb({
27            decimals: 0,
28            thousand: ',',
29            suffix: ' تومان'
30        })
31    });
32
33    //var sliderValue = slider.noUiSlider.get();
34
35    slider.noUiSlider.on('update', function (values) {
36        $(".start-price").html(values[0]);
37        //$("#MinPrice").val(values[0]);
38        $(".end-price").html(values[1]);
39        //$("#MaxPrice").val(values[1]);
40    });
41}
42
43
44
45
46///////////////////////////////////////////////
47/// لود کردن همه فیلد ها به صورت TreeView
48///////////////////////////////////////////////
49//$tree = $("#FieldsModal .modal-body");
50$tree = $(".field-tree");
51$FieldId = $("#FieldId");
52
53if ($tree.length > 0)
54    LoadAllFields();
55function LoadAllFields() {
56    $.get("/Shared/Fields/GetTreeViewFields", function (data) {
57        InitList(data);
58    });
59}
60
61
62//ایجاد treeview
63function InitList(data) {
64    $tree.treeview({
65        data: data,
66        levels: 0,
67        multiSelect: false,
68        onNodeSelected: function (event, node) {
69            $FieldId.val(node.id).trigger("change");
70            $(".field-btn").html(node.text);
71            $("#FieldsModal").modal('hide');
72            if ($(".teacher-search").length > 0)
73                RenderTeachers(1);
74            else if ($(".course-search").length > 0)
75                RenderCourses(1);
76            else if ($(".exam-search").length > 0)
77                RenderExams(1);
78        },
79        onNodeUnselected: function (event, node) {
80            $FieldId.val("").trigger("change");
81            $(".field-btn").html("موضوع دوره");
82            $("#FieldsModal").modal('hide');
83            if ($(".teacher-search").length > 0)
84                RenderTeachers(1);
85            else if ($(".course-search").length > 0)
86                RenderCourses(1);
87            else if ($(".exam-search").length > 0)
88                RenderExams(1);
89        }
90    });
91}
92
93
94
95//باز کردن مدال مربوط به انتخاب فیلد
96function OpenFieldsModal() {
97    $("#FieldsModal").modal('show');
98}
99
100
101
102
103
104//////////////////////////////////////////
105//لود کردن گروه هدف با تغییر فیلد
106//////////////////////////////////////////
107$(document).on("change", "#FieldId", function () {
108    FieldId = $(this).val();
109    LoadGradesByFieldId(FieldId);
110});
111
112
113//لود کردن گروه های هدف با انتخاب فیلد ها
114function LoadGradesByFieldId(FieldId) {
115    $.ajax({
116        url: "/Shared/Grades/GetByFieldId",
117        method: "POST",
118        data: "{'FieldId' : '" + FieldId + "'}",
119        contentType: "application/json",
120        success: function (res) {
121            $("select.Grade").find("option").remove();
122            opt = $("<option>").val("").html("همه");
123            $("select.Grade").append(opt)
124            for (var i = 0; i < res.length; i++) {
125                opt = $("<option>").val(res[i].Id).html(res[i].Title);
126                $("select.Grade").append(opt)
127            }
128            $('select.Grade.selectpicker').prop('disabled', false);
129            $('select.Grade.selectpicker').selectpicker('refresh');
130        },
131        fail: function (err) {
132        }
133    });
134}
135
136
137
138
139
140
141//////////////////////////////////////////
142//لود کردن شهر ها با تغییر استان 
143//////////////////////////////////////////
144$(document).on("change", "#ProvinceId", function () {
145    ProvinceId = $(this).val();
146    if (ProvinceId) {
147        LoadCitiesByProvinceId(ProvinceId);
148    }
149    else {
150        $("select.City").find("option").remove();
151        $('select.City.selectpicker').prop('disabled', true);
152        $('select.City.selectpicker').selectpicker('refresh');
153    }
154});
155
156
157//لود کردن شهر ها با تغییر استان
158function LoadCitiesByProvinceId(ProvinceId) {
159    $.ajax({
160        url: "/Shared/Cities/LoadCity",
161        method: "POST",
162        data: "{'ProvinceId' : '" + ProvinceId + "'}",
163        contentType: "application/json",
164        success: function (res) {
165            $("select.City").find("option").remove();
166            for (var i = 0; i < res.length; i++) {
167                opt = $("<option>").val(res[i].Id).html(res[i].Title);
168                $("select.City").append(opt)
169            }
170            $('select.City.selectpicker').prop('disabled', false);
171            $('select.City.selectpicker').selectpicker('refresh');
172        },
173        fail: function (err) {
174        }
175    });
176}
177
178
179
180
181
182
183////////////////////////////
184//جستجو دوره ها
185////////////////////////////
186
187function RenderCourses(Page) {
188    $("#courses-container").html(LoadingImage());
189
190    var MinPrice = null;
191    var MaxPrice = null;
192    if (slider) {
193        var sliderValue = slider.noUiSlider.get();
194        if (sliderValue[0] != $("#MinPrice").val())
195            MinPrice = sliderValue[0].replace(',', '');
196        if (sliderValue[1] != $("#MaxPrice").val())
197            MaxPrice = sliderValue[1].replace(',', '');
198    }
199
200    $("html, body").animate({ scrollTop: 0 }, "slow");
201
202    var data = {
203        Page: Page,
204        PageSize: 12,
205        SearchText: $("#SearchText").val(),
206        TeacherId: $("#TeacherId").val(),
207        AcademyId: $("#AcademyId").val(),
208        FieldId: $("#FieldId").val(),
209        GradeId: $("#GradeId").val(),
210        Sort: $("#Sort").val(),
211        JustEnabled: $("#JustEnabled").is(":checked"),
212        JustFree: $("#JustFree").is(":checked"),
213        MinPrice: MinPrice,
214        MaxPrice: MaxPrice
215    };
216    //console.log(data);
217    var _controller = "course";
218    if (typeof (controller) !== 'undefined' && controller) 
219
220        _controller = controller;
221    $.get("/" + _controller + "/SearchCourses", data, function (res) {
222        $("#courses-container").html(res);
223    }).fail(function () { alert("خواندن دوره ها با خطا همراه بوده است.") });
224}
225
226
227//گیف لودینگ
228function LoadingImage() {
229    return '<img class="loading-img" src="/Content/Images/loading.gif" alt="loading"/>';
230}
231
232
233
234
235
236////////////////////////////
237//جستجو آزمون ها
238////////////////////////////
239
240function RenderExams(Page) {
241    $("#exams-container").html(LoadingImage());
242    var sliderValue = slider.noUiSlider.get();
243    var MinPrice;
244    var MaxPrice;
245    if (sliderValue[0] != $("#MinPrice").val())
246        MinPrice = sliderValue[0].replace(',', '');
247    if (sliderValue[1] != $("#MaxPrice").val())
248        MaxPrice = sliderValue[1].replace(',', '');
249
250    var data = {
251        Page: Page,
252        PageSize: 10,
253        SearchText: $("#SearchText").val(),
254        TeacherId: $("#TeacherId").val(),
255        AcademyId: $("#AcademyId").val(),
256        FieldId: $("#FieldId").val(),
257        GradeId: $("#GradeId").val(),
258        Sort: $("#Sort").val(),
259        JustEnabled: $("#JustEnabled").is(":checked"),
260        JustFree: $("#JustFree").is(":checked"),
261        MinPrice: MinPrice,
262        MaxPrice: MaxPrice
263    };
264
265    $.get("/Exam/SearchExams", data, function (res) {
266        $("#exams-container").html(res);
267    }).fail(function () { alert("خواندن آزمون ها با خطا همراه بوده است.") });
268}
269
270
271
272
273////////////////////////////
274//جستجو آموزشگاه ها
275////////////////////////////
276function RenderAcademies(Page) {
277    $("#academies-container").html(LoadingImage());
278    var data = {
279        Page: Page,
280        PageSize: 12,
281        SearchText: $("#SearchText").val(),
282        ProvinceId: $("#ProvinceId").val(),
283        CityId: $("#CityId").val(),        
284        Sort: $("#Sort").val()        
285    };
286
287    $.get("/Academy/SearchAcademies", data, function (res) {
288        $("#academies-container").html(res);
289    }).fail(function () { alert("خواندن آموزشگاه ها با خطا همراه بوده است.") });
290}
291
292
293
294
295
296////////////////////////////
297//جستجو مدرسان
298////////////////////////////
299function RenderTeachers(Page) {
300    $("#teachers-container").html(LoadingImage());
301    var data = {
302        Page: Page,
303        PageSize: 12,
304        SearchText: $("#SearchText").val(),        
305        FieldId: $("#FieldId").val(),
306        GradeId: $("#GradeId").val(),
307        Sort: $("#Sort").val()
308    };
309    $.get("/Teacher/SearchTeachers", data, function (res) {
310        $("#teachers-container").html(res);
311    }).fail(function () { alert("خواندن مدرسان با خطا همراه بوده است.") });
312}
313
314
315
316
317
318
319////////////////////////////
320//تغییر شماره صفحه در صفحات مختلف
321////////////////////////////
322$(document).on("click", ".paginations a", function (e) {
323    e.preventDefault();
324    var parent = $(this).parents("li");
325    if (parent.hasClass("disabled") || parent.hasClass("active"))
326        return;
327
328    url = $(this).attr("href");
329    if (!url)
330        return;
331
332    var page = getParameterByName('page', url);
333    var controller = url.split('/')[1].toLowerCase();
334    if (controller == "course")
335        RenderCourses(page);
336    else if (controller == "exam")
337        RenderExams(page);
338    else if (controller == "teacher")
339        RenderTeachers(page);
340    else if (controller == "academy")
341        RenderAcademies(page);
342});
343
344//خوندن مقدار کوئری استرینگ از url
345function getParameterByName(name, url) {
346    if (!url) url = window.location.href;
347    name = name.replace(/[\[\]]/g, '\\$&');
348    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
349        results = regex.exec(url);
350    if (!results) return null;
351    if (!results[2]) return '';
352    return decodeURIComponent(results[2].replace(/\+/g, ' '));
353}
354
355
356
357
358//تاگل کردن بخش سرچ در حالت موبایل
359var ToggleSearchForm = function (el) {
360    if ($(".side-search-form").hasClass("open"))
361        $(".side-search-form").removeClass("open").slideUp();
362    else 
363        $(".side-search-form").addClass("open").slideDown();
364
365    $(el).find('.caret').toggleClass("rotate");
366}
367
368
369
370
371
372
373
374
375
376
377
378
379

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.