我有一个Kendo DropDownList,我必须通过包含8的文本选择一个元素。我可以通过完整字符串选择元素,我只需要通过子字符串选择它。

部分正常工作的代码如下所示:

var ddlist = $("#HibaTipusKod_" + munkatargyaId).data("kendoDropDownList");
console.log(ddlist);
ddlist.value("8/a");
ddlist.trigger("change");


我的需要是:

ddlist.value(*startswith/contains*"8");
ddlist.trigger("change");


在日志记录中,我可以看到正确的记录。

最佳答案

您可以尝试以下方法:

var options = ddlist.dataSource.options.data;
$.each(options, function(i, item) {
    if (item.text.indexOf('8') !== -1) {
      dropdownlist.select(i);
      return false;
    }
});


Demo

切记,使用indexOf搜索子字符串将区分大小写,在此question中,有许多替代方法可以更好地满足您的需求。

09-10 17:33