0

我的另一个问题。标题基本上是这样说的,但我想知道函数之间的使用以及使用剑道 DropDownList 时的真正区别是什么。我当然已经阅读了Kendo 文档,但我并不清楚和之间的实际区别是什么。我不是 100% 确定这是否是一个要在这里问的问题,但我仍然会问它,因为我希望有人能照亮我。那么,这两个函数的用法有什么区别呢?onSelectonCloseonSelectonClose

其他看到的链接:

提前致谢。

4

2 回答 2

2

首先要注意的是触发事件的顺序。如这里的演示所示select首先触发事件,然后change触发close事件。

select事件

select每当用户选择项目时都会触发(注意:不是以编程方式选择时)。而且,除了传递e.sender事件参数(触发事件的 DropDownList 的实例)之外,它还传递了被选中e.item<li>项目。然后,您可以通过从 DropDownList传递e.item.index()到方法来使用它来获取该项目的模型,即:.dataItem()

$("#list").data("kendoDropDownList").dataItem(e.item.index());

关于此方法的行为需要注意的是,即使您再次选择当前选定的项目,它也会触发。如果你不断地选择同一个项目,它会不断地触发 select 方法。

change事件

changeis fired whenever an item is selected and is different from the previous value. 它也不同于select方法,因为它e.sender是事件参数中传递的唯一参数,因此没有内置方法可以在不深入研究e.sender对象中的方法和项目的情况下查看选择了哪个项目。

close事件

close任何时候关闭列表都会触发,即使没有选择任何内容。与事件类似,change事件参数中传递的唯一参数是e.sender. 此方法的目的是用于您希望在列表关闭时触发某些行为的情况。

于 2014-10-13T18:31:02.837 回答
0

您可以像这样获得有关选择的角度样式反馈:

    var $disDeskSel2 = $("#disDeskSel2");
function onSelectTwo(e) {
    var dataItem = this.dataItem(e.item.index());
    $("#displayNextSelection").html('<p>You age: ' + dataItem.text + '</p>');
    $disDeskSel2.html('<p><span class="label label-primary">Based on your selection </span> You age: ' + dataItem.text + '</p>')
        .hide();
}
于 2015-04-22T15:36:09.633 回答