form method="post">
<div class="form-row">
<div class="col-md-4">
<label class="g-color-gray-dark-v2 g-font-weight-600 g-font-size-13">Country:</label>
<ejs-dropdownlist id="ccode" ejs-for="ccode" popupHeight="220px" filterBarPlaceholder="Search" allowFiltering="true" filtering="OnCountryFiltering" change="OnCountryChange">
<e-dropdownlist-fields text="cname" value="ccode"></e-dropdownlist-fields>
<e-data-manager url="/api/category/country" adaptor="WebApiAdaptor" offline="false"></e-data-manager>
</ejs-dropdownlist>
<span asp-validation-for="ccode" class="text-danger g-font-size-13"></span>
</div>
<div class="col-md-8">
<label class="g-color-gray-dark-v2 g-font-weight-600 g-font-size-13">State:</label>
<ejs-dropdownlist id="scode" ejs-for="scode" enabled="false" popupHeight="220px" filterBarPlaceholder="Search" allowFiltering="true" filtering="OnStateFiltering" change="OnStateChange">
<e-dropdownlist-fields text="sname" value="scode"></e-dropdownlist-fields>
<e-data-manager url="/api/category/state" adaptor="WebApiAdaptor" offline="false"></e-data-manager>
</ejs-dropdownlist>
<span asp-validation-for="scode" class="text-danger g-font-size-13"></span>
</div>
<div class="col-md-8">
<label class="g-color-gray-dark-v2 g-font-weight-600 g-font-size-13">City:</label>
<ejs-dropdownlist id="code" ejs-for="code" enabled="false" popupHeight="220px" filterBarPlaceholder="Search" allowFiltering="true" filtering="OnCityFiltering">
<e-dropdownlist-fields text="name" value="code"></e-dropdownlist-fields>
<e-data-manager url="/api/category/city" adaptor="WebApiAdaptor" offline="false"></e-data-manager>
</ejs-dropdownlist>
<span asp-validation-for="code" class="text-danger g-font-size-13"></span>
</div>
</div>
</form>
@section Scripts {
@await Html.PartialAsync("_ValidationScriptsPartial")
<script>
function OnCountryChange() {
if (this.itemData) {
var City = document.getElementById('code').ej2_instances[0];
City.enabled = false;
City.itemData = null;
City.dataSource = null;
var State = document.getElementById('scode').ej2_instances[0];
State.enabled = true;
var dataManager = new ejs.data.DataManager({
url: "/api/category/state?ccode=" + this.itemData.ccode,
adaptor: new ejs.data.WebApiAdaptor(),
offline: false
});
State.itemData = null;
State.dataSource = null;
State.dataSource = dataManager;
}
};
function OnStateChange() {
if (this.itemData) {
var City = document.getElementById('code').ej2_instances[0];
City.enabled = true;
var dataManager = new ejs.data.DataManager({
url: "/api/category/city?scode=" + this.itemData.scode,
adaptor: new ejs.data.WebApiAdaptor(),
offline: false
});
City.itemData = null;
City.dataSource = null;
City.dataSource = dataManager;
}
};
function OnCountryFiltering(e) {
var CBObj = document.getElementById($(this).get(0).element.id).ej2_instances[0];
if (e.text == '')
e.updateData(CBObj.dataSource);
else {
var query = new ej.data.Query();
query = (e.text !== '') ? query.where('cname', 'contains', e.text, true) : query;
e.updateData(CBObj.dataSource, query);
}
};
function OnStateFiltering(e) {
var CBObj = document.getElementById($(this).get(0).element.id).ej2_instances[0];
if (e.text == '')
e.updateData(CBObj.dataSource);
else {
var query = new ej.data.Query();
query = (e.text !== '') ? query.where('sname', 'contains', e.text, true) : query;
e.updateData(CBObj.dataSource, query);
}
};
function OnCityFiltering(e) {
var CBObj = document.getElementById($(this).get(0).element.id).ej2_instances[0];
if (e.text == '')
e.updateData(CBObj.dataSource);
else {
var query = new ej.data.Query();
query = (e.text !== '') ? query.where('name', 'contains', e.text, true) : query;
e.updateData(CBObj.dataSource, query);
}
};
</script>
}
|
<form method="post">
<div class="form-row">
<div class="col-md-4">
<label class="g-color-gray-dark-v2 g-font-weight-600 g-font-size-13">Country:</label>
<ejs-dropdownlist id="ccode" ejs-for="ccode" popupHeight="220px" filterBarPlaceholder="Search" allowFiltering="true" created="InitialRendering" filtering="OnCountryFiltering" change="OnCountryChange">
<e-dropdownlist-fields text="cname" value="ccode"></e-dropdownlist-fields>
@*<e-data-manager url="/api/category/country" adaptor="WebApiAdaptor" offline="true"></e-data-manager>*@
</ejs-dropdownlist>
<span asp-validation-for="ccode" class="text-danger g-font-size-13"></span>
</div>
<div class="col-md-8">
<label class="g-color-gray-dark-v2 g-font-weight-600 g-font-size-13">State:</label>
<ejs-dropdownlist id="scode" ejs-for="scode" enabled="false" popupHeight="220px" filterBarPlaceholder="Search" allowFiltering="true" filtering="OnStateFiltering" change="OnStateChange">
<e-dropdownlist-fields text="sname" value="scode"></e-dropdownlist-fields>
@*<e-data-manager url="/api/category/state" adaptor="WebApiAdaptor" offline="true"></e-data-manager>*@
</ejs-dropdownlist>
<span asp-validation-for="scode" class="text-danger g-font-size-13"></span>
</div>
<div class="col-md-8">
<label class="g-color-gray-dark-v2 g-font-weight-600 g-font-size-13">City:</label>
<ejs-dropdownlist id="code" ejs-for="code" enabled="false" popupHeight="220px" filterBarPlaceholder="Search" allowFiltering="true" filtering="OnCityFiltering">
<e-dropdownlist-fields text="name" value="code"></e-dropdownlist-fields>
@*<e-data-manager url="/api/category/city" adaptor="WebApiAdaptor" offline="true"></e-data-manager>*@
</ejs-dropdownlist>
<span asp-validation-for="code" class="text-danger g-font-size-13"></span>
</div>
</div>
</form>
@section Scripts {
@await Html.PartialAsync("_ValidationScriptsPartial")
<script>
function InitialRendering() {
var Country = document.getElementById('ccode').ej2_instances[0];
new ej.data.DataManager({ url: "/api/category/country", adaptor: new ej.data.WebApiAdaptor }).executeQuery(new ej.data.Query()).then((e) => {
Country.dataSource = e.result;
});
}
function OnCountryChange() {
if (this.itemData) {
var City = document.getElementById('code').ej2_instances[0];
City.enabled = false;
City.itemData = null;
City.dataSource = null;
var State = document.getElementById('scode').ej2_instances[0];
State.enabled = true;
State.itemData = null;
State.dataSource = null;
new ej.data.DataManager({ url: "/api/category/state", adaptor: new ej.data.WebApiAdaptor }).executeQuery(new ej.data.Query().addParams('ccode', this.itemData.ccode)).then((e) => {
State.dataSource = e.result;
});
}
};
function OnStateChange() {
if (this.itemData) {
var City = document.getElementById('code').ej2_instances[0];
City.enabled = true;
City.itemData = null;
City.dataSource = null;
new ej.data.DataManager({ url: "/api/category/city", adaptor: new ej.data.WebApiAdaptor }).executeQuery(new ej.data.Query().addParams('scode', this.itemData.scode)).then((e) => {
City.dataSource = e.result;
});
}
};
function OnCountryFiltering(e) {
var CBObj = document.getElementById($(this).get(0).element.id).ej2_instances[0];
if (e.text == '')
e.updateData(CBObj.dataSource);
else {
var query = new ej.data.Query();
query = (e.text !== '') ? query.where('cname', 'contains', e.text, true) : query;
e.updateData(CBObj.dataSource, query);
}
};
function OnStateFiltering(e) {
var CBObj = document.getElementById($(this).get(0).element.id).ej2_instances[0];
if (e.text == '')
e.updateData(CBObj.dataSource);
else {
var query = new ej.data.Query();
query = (e.text !== '') ? query.where('sname', 'contains', e.text, true) : query;
e.updateData(CBObj.dataSource, query);
}
};
function OnCityFiltering(e) {
var CBObj = document.getElementById($(this).get(0).element.id).ej2_instances[0];
if (e.text == '')
e.updateData(CBObj.dataSource);
else {
var query = new ej.data.Query();
query = (e.text !== '') ? query.where('name', 'contains', e.text, true) : query;
e.updateData(CBObj.dataSource, query);
}
};
</script>
}
|