1

我有一个剑道组合框,还有一个带值的变量。如何在组合框中搜索值,如果存在,选择它?全部使用 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

4

2 回答 2

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("");                          
      }
  }
});

单击此处查看演示。

于 2014-12-23T13:25:21.467 回答
3

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

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);
    }
});

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

于 2014-06-17T14:49:33.153 回答