You can check about whether value change happened by manual or programmatic by
using change event argument that argument name is isInteracted
.
The following example demonstrate, how to check whether value change happened by manual or programmatic.
@Html.EJS().Button("change").Content("Change the value dynamically").Render()
<div class="control-wrapper">
<div id="default" style='padding-top:75px;'>
@Html.EJS().DropDownList("employee").Placeholder("Select a employee").Index(2).Change("onChange").PopupHeight("200px").DataSource((IEnumerable<object>)ViewBag.data).Fields(new Syncfusion.EJ2.DropDowns.DropDownListFieldSettings { Text = "Name" }).Render()
</div>
</div>
<p id='event'> </p>
<script>
document.getElementById('change').onclick = () => {
var dropObject = document.getElementById("employee").ej2_instances[0];
dropObject.value = 'Andrew Fuller';
};
function onChange(args) {
let element = document.createElement('p');
document.getElementById("event").innerHTML = "";
if (args.isInteracted) {
element.innerText = 'Changes happened by Interaction';
}
else {
element.innerText = 'Changes happened by programmatic';
}
document.getElementById('event').append(element);
}
</script>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using WebApplication1.Models;
namespace WebApplication1.Controllers
{
public class DropDownListController : Controller
{
public ActionResult detectchange()
{
ViewBag.data = new Employees().EmployeesList();
return View();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebApplication1.Models
{
public class Employees
{
public string Name { get; set; }
public string Eimg { get; set; }
public string Designation { get; set; }
public string Country { get; set; }
public List<Employees> EmployeesList()
{
List<Employees> emp = new List<Models.Employees>();
emp.Add(new Employees { Name= "Andrew Fuller", Eimg= "7", Designation = "Team Lead", Country= "England"});
emp.Add(new Employees { Name= "Anne Dodsworth", Eimg= "1", Designation = "Developer", Country= "USA"});
emp.Add(new Employees { Name= "Janet Leverling", Eimg= "3", Designation = "HR", Country= "USA"});
emp.Add(new Employees { Name= "Laura Callahan", Eimg= "2", Designation = "Product Manager", Country= "USA"});
emp.Add(new Employees { Name= "Margaret Peacock", Eimg= "6", Designation = "Developer", Country= "USA"});
emp.Add(new Employees { Name= "Michael Suyama", Eimg= "9", Designation = "Team Lead", Country= "USA"});
emp.Add(new Employees { Name= "Nancy Davolio", Eimg= "4", Designation = "Product Manager", Country= "USA"});
emp.Add(new Employees { Name= "Robert King", Eimg= "8", Designation = "Developer ", Country= "England"});
emp.Add(new Employees { Name= "Steven Buchanan", Eimg= "10", Designation = "CEO", Country= "England" });
return emp;
}
}
}