<e-autocomplete-fields text="Name" value="CountryCode"></e-autocomplete-fields>
|
<div class='control-wrapper'>
<div style='padding-top:75px;'>
<ejs-autocomplete id="customers" query="new ej.data.Query().from('Employees').select(['FirstName', 'City', 'EmployeeID']).take(6).requiresCount()" placeholder="Select a customer" popupHeight="200px">
<e-autocomplete-fields value="FirstName"></e-autocomplete-fields>
<e-data-manager url="https://services.odata.org/V4/Northwind/Northwind.svc/" adaptor="ODataV4Adaptor" crossDomain="true"></e-data-manager>
</ejs-autocomplete>
</div>
<input type="button" id="button" value="click to chnage field" />
</div>
<script>
document.getElementById("button").addEventListener("click", function () {
var autoObj = document.getElementById("customers");
autoObj.ej2_instances[0].fields.value = "City";
autoObj.ej2_instances[0].fields.text = "City";
autoObj.ej2_instances[0].dataBind();
})
</script> |
|
<div class='control-wrapper'>
<div style='padding-top:75px;'>
<ejs-autocomplete id="customers" filtering="onFltering" query="new ej.data.Query().from('Employees').select(['FirstName', 'City', 'EmployeeID']).take(6).requiresCount()" placeholder="Select a customer" popupHeight="200px">
<e-autocomplete-fields value="FirstName"></e-autocomplete-fields>
<e-data-manager url="https://services.odata.org/V4/Northwind/Northwind.svc/" adaptor="ODataV4Adaptor" crossDomain="true"></e-data-manager>
</ejs-autocomplete>
</div>
</div>
<script>
function onFltering(e) {
var query = new ej.data.Query().from('Employees').select(['FirstName', 'City']).take(6).requiresCount();
var predicateQuery = query.where(new ej.data.Predicate('FirstName', 'contains', e.text, true).and('City', 'contains', e.text, true));
query = (e.text !== '') ? predicateQuery : query;
e.updateData(this.dataSource, query);
}
</script> |
I have to different both text and value.
var autoObj = document.getElementById("ddlitemgroup");
autoObj.ej2_instances[0].fields.value = data;
autoObj.ej2_instances[0].fields.text = txtshortname;
autoObj.ej2_instances[0].dataBind();
but bind both same.
pFA
|
<ejs-autocomplete id="City"
placeholder="Choose countries" floatLabelType="Auto" allowCustom="true" popupHeight="450px" filtering="itemgroup" actionComplete="actionComplete"
noRecordsTemplate="@Html.Raw("<div>"
+"<div id=\"nodata\"> No matched item, do you want to add it as new item in list?</div>"
+ "<button id=\"btn\" class=\"e-control e-btn\">Add New Record</button></div>")">
<e-data-manager adaptor="UrlAdaptor" url="/Home/UrlDatasource" crossDomain="true"></e-data-manager>
<e-autocomplete-fields text="ShipCountry" value="ShipName"></e-autocomplete-fields>
</ejs-autocomplete>
<script>
var newItem;
function actionComplete(e) {
if (newItem) {
e.result.push(newItem);
}
}
function itemgroup(e) {
var country = document.getElementById('City').ej2_instances[0];
setTimeout(() => {
if (document.getElementById('nodata')) {
document.getElementById('btn').onclick = function () {
//onclick event for button
var customText = (document.getElementById('City')).value;
var customValue = customText + "_Value";
newItem = { 'ShipCountry': customText, 'ShipName': customValue };
country.hidePopup();
country.addItem(newItem);
country.value = customValue;
};
}
}, 100);
}
</script>
|
i want like this.
but this code not working.
how to set default value and text ?
|
<ejs-autocomplete id="customers" query="new ej.data.Query().from('Employees').select(['FirstName', 'City', 'EmployeeID']).take(6).requiresCount()" placeholder="Select a customer" popupHeight="200px">
<e-autocomplete-fields value="FirstName"></e-autocomplete-fields>
<e-data-manager url=https://services.odata.org/V4/Northwind/Northwind.svc/ adaptor="ODataV4Adaptor" crossDomain="true"></e-data-manager>
</ejs-autocomplete>
<script>
autoObj.ej2_instances[0].fields.value = "Country";
autoObj.ej2_instances[0].fields.text = "City";
</script> |
|
<script>
document.getElementById("button").addEventListener("click", function () {
var autoObj = document.getElementById("customers");
autoObj.value = ‘Andrew’;
autoObj.ej2_instances[0].dataBind();
})
</script>
|