kendoMultiSelect
kendoMultiSelect with Same Val
by chanaka1
HTML
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.1.226/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.1.226/styles/kendo.default.min.css">
<script src="http://cdn.kendostatic.com/2013.1.226/js/kendo.all.min.js"></script>
<select id="tags"></select>
JavaScript
var tags = [
{ text: "Tag1", value:"Tag1" },
{ text: "Tag2", value:"Tag2" },
{ text: "Tag3", value:"Tag3" }
];
var newitemtext;
var multiselect = $("#tags").kendoMultiSelect({
change: function() {
var value = this.value().slice(0);
var dataitems = this.dataSource.data();
var newtag = "";
for (var i = 0; i < dataitems.length; i++) {
var dataItem = dataitems[i];
if(dataItem.text.substring(0, "Add new tag: ".length) === "Add new tag: ") {
newtag = dataItem.text.replace("Add new tag: ", "");
this.dataSource.remove(dataItem);
}
}
this.dataSource.add({value: newtag, text: newtag});
if (newtag) {
this.dataSource.filter({});
if(this.value().length == 1)
{
this.value(newtag);
}
else
{
value.push(newtag);
console.log(value);
this.value(value);
}
}
},
dataBound: function() {
if((newitemtext || this._prev) && newitemtext != this._prev)
{
newitemtext = this._prev;
var dataitems = this.dataSource.data();
var isfound = false;
for (var i = 0; i < dataitems.length; i++) {
var dataItem = dataitems[i];
if(dataItem.value != dataItem.text) {
dataItem.text = "Add new tag: " + newitemtext;
this.refresh();
isfound = true;
}
}
if(!isfound)
{
this.dataSource.add({text: "Add new tag: " + newitemtext, value: newitemtext});
this.refresh();
}
this.search();
this.open();
}
},
dataSource: tags,
dataTextField: "text",
dataValueField: "value",
filter: "contains",
animation: false
});