Hello,
I have a function which constructs Observable ViewModel. In that there are 4-5 dataSource.
function GetAirRequestMVVMTemplate() { debugger; //kendo.ui.progress($("body"), true); var airRequestViewModel = kendo.observable({ FlightDestinationSource: function(e) { return new kendo.data.DataSource({ transport: { read: { url: rootUrl("GetData/GetCountry"), dataType: "json" } }, serverFiltering: true }); }, FlightOriginSource: function(e) { return new kendo.data.DataSource({ transport: { read: { url: rootUrl("GetData/GetCountry"), dataType: "json" } }, serverFiltering: true }); }, ViaSource: function (e) { debugger; var viadata = e.ArriveDepartDetails.via; return new kendo.data.DataSource({ transport: { read: { url: rootUrl("GetData/GetCountry"), dataType: "json", data: function (e) { return { adddata: JSON.stringify(viadata) //viadata != null ? JSON.stringify(viadata) : JSON.stringify([]) }; } } }, serverFiltering: true }); }, AirlineIdsSource: function (e) { debugger; var airdata = e.AirlineIds; return new kendo.data.DataSource({ transport: { read: { url: rootUrl("GetData/GetAirLines"), dataType: "json", data: function (e) { return { data: JSON.stringify(airdata) }; } } }, serverFiltering: true }); }, ClassSource: function(e) { return new kendo.data.DataSource({ transport: { read: { url: rootUrl("GetData/Get_Air_Class_Details"), dataType: "json" } } }); }, AllianceSource: function(e) { return new kendo.data.DataSource({ transport: { read: { url: rootUrl("GetData/GetAlliance"), dataType: "json" } } }); }, TimeTypeSource: function(e) { return new kendo.data.DataSource({ data: [ { Text: "None", Value: "-1" }, { Text: "Departs", Value: "D" }, { Text: "Arrives", Value: "A" } ] }); }, TimeTypeDataBound: function (e) { debugger; if (e.data.ArriveDepartDetails.TimeType == null) { e.data.ArriveDepartDetails.set("TimeType", "-1"); } }, OnOpenOriginAutoComplete: function(e) { debugger; var target = $(e.sender.element).data("kendoAutoComplete"); target.list.width(280); }, SaveAirRequest: function(e) { debugger; if ($("#APISForm").kendoValidator().data("kendoValidator").validate()) { if (validateAirRequestForm()) { kendo.ui.progress($("#AirRequest"), true); var data = { airRequestData: e.data //AirRequestViewModel.AirItem.AirVMList } $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", traditional: true, data: JSON.stringify(data), url: rootUrl("SearchAvailability/AirRequestMVVMSave"), success: function(response) { debugger; if (response.Error == null) { RefreshServiceElements(); $("#AirRequest").data("kendoWindow").close(); } else { ShowKendoMessage("Error: " + response.Error); AirRequestViewModel.AirItem.AirVMList.Error = null; } kendo.ui.progress($("#AirRequest"), false); } }); } } else { ShowKendoMessage("Please Enter Required Fields"); } }, AddSegment: function(e) { debugger; // this.AirVMList.SegmentInfo.push(new this.AirVMList.SegmentInfo()); //AirRequestViewModel.AirItem.AirVMList.SegmentSkeleton var object = JSON.stringify(AirRequestViewModel.AirItem.AirVMList.SegmentSkeleton); object = JSON.parse(object); AirRequestViewModel.AirItem.AirVMList.SegmentInfo.splice(parseInt(e.data.index + 1), 0, object); var prevDestination = AirRequestViewModel.AirItem.AirVMList.SegmentInfo[parseInt(e.data.index)].ArriveDepartDetails.Destination; AirRequestViewModel.AirItem.AirVMList.SegmentInfo[parseInt(e.data.index + 1)].ArriveDepartDetails .set("Origin", prevDestination); //AirRequestViewModel.AirItem.AirVMList.SegmentInfo.push(AirRequestViewModel.AirItem.AirVMList // .SegmentSkeleton); for (var i = 0; i < AirRequestViewModel.AirItem.AirVMList.SegmentInfo.length; i++) { this.AirVMList.set("SegmentInfo[" + i + "].index", i); } }, RemoveSegment: function (e) { debugger; AirRequestViewModel.AirItem.AirVMList.SegmentInfo.splice(e.data.index, 1); for (var i = 0; i < AirRequestViewModel.AirItem.AirVMList.SegmentInfo.length; i++) { this.AirVMList.set("SegmentInfo[" + i + "].index", i); } }, ShowSegmentOptions: function (e) { debugger; }, FlightOriginOnOpen: function (e) { debugger; //var target = $(e.sender.element).data("kendoDropDownList"); //target.list.width(280); }, ResetAirItem: function (e) { debugger; e.data.ArriveDepartDetails.set("Origin", null); e.data.ArriveDepartDetails.set("Destination", null); e.data.ArriveDepartDetails.set("DepartureDate", null); e.data.ArriveDepartDetails.set("TimeType", "-1"); e.data.ArriveDepartDetails.set("DepartureTime", "00:00"); e.data.ArriveDepartDetails.set("via", []); e.data.set("AirlineIds", []); e.data.set("ClassCodeId", null); e.data.set("FlightNumber", null); e.data.set("Alliance", null); e.data.set("Note", null); }, HideSegmentOptions: function (e) { debugger; $(e.toElement).closest(".segmentdiv").find(".tobehidden").toggle(); $(e.toElement).closest(".segmentdiv").find("#flipdown").toggle(); $(e.toElement).closest(".segmentdiv").find("#flipup").toggle(); }, CancelAirRequest: function (e) { debugger; $("#AirRequest").data("kendoWindow").close(); } }); $.when( $.ajax({ url: rootUrl("SearchAvailability/GetAirRequestJSONData"), type: "POST", dataType: "json", data: { requestId: $("#RequestID").val() } }), loadTemplate("Content/Templates/AirRequestViewModelNew.tmpl.htm") ) .then(onAirRequestWindowSuccess(airRequestViewModel)) .fail(onAirRequestWindowFailure);}
All Datasource to etc. When select option any autocomplete or all other send read/filter request to . I know why its happening.