kendo ComboBox查找并选择值(如果存在)

时间:2014-06-17 14:35:35

标签: jquery kendo-ui kendo-combobox

我有一个kendo组合框,并且还有一个带值的变量。 如何在组合框中搜索值,如果存在,请选择它? 全部使用javascript / Jquery

http://jsfiddle.net/mspasiuk/8HnnZ/

var movieId=10;


var combo =$("#movies").kendoComboBox({
    dataTextField: "text",
    dataValueField: "value",
    dataSource: data,
    height: 100
});

我无法找到如何设置值和Id。 所以我的问题是如何将selectedIndex或Value设置为我所拥有的,如果不存在,则将selectedIndex设置为-1

2 个答案:

答案 0 :(得分:5)

1)您需要先订阅更改事件以适应更改的值。

var widget = $("#movies").data("kendoComboBox");     

2)在更改事件中,您现在可以编码查找并选择现有值。

widget.bind("change", function() {
  if (widget.selectedIndex === -1 && widget.value()) {
      if (widget.dataSource.view().length > 0) {
          widget.select(0)  
      } else {
          widget.value("");                          
      }
  }
});

点击Here查看演示。

答案 1 :(得分:2)

此链接可以帮助您满足您的需求。

http://demos.telerik.com/kendo-ui/combobox/api

它向您展示了与访问"有关的所有重要部分" api的区域。

编辑:

让您更新了可能的解决方案。

http://jsfiddle.net/8HnnZ/5/

 var movies =  $("#movies").kendoComboBox({
        dataTextField: "text",
        dataValueField: "value",
        dataSource: data,
        height: 100
    });

$("#setValue").click(function() {
    var setme =  $("#movies").data("kendoComboBox"); 
    setme.value(movieId);
    if(setme.selectedIndex == -1) {
        alert('not allowed'); 
        setme.select(-1);
        setme.value('');
        alert(setme.selectedIndex);
    }
});

这是基于点击的按钮,但应该让您了解如何根据您的需要进行设置。