Javascript 将另一个参数传递到Kendo UI DropDownList更改事件

Javascript 将另一个参数传递到Kendo UI DropDownList更改事件,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,我正在动态构建我的剑道ui dropdownlist组件,因此我有一个为dropdownlist的每个元素构建的循环。剑道UI附加了更多html,使其看起来像一个下拉列表,但从不更新初始输入字段值。我的计划是在更改时执行此操作,这样我就可以搜索我所做的所有更改并动态获取值。问题是,当我将特定项传递给变更事件时,它仍然告诉我它是未定义的。以下是代码片段: for(var x=0; x<data.length; x++){ var item = data[x]; if($('#

我正在动态构建我的剑道ui dropdownlist组件,因此我有一个为dropdownlist的每个元素构建的循环。剑道UI附加了更多html,使其看起来像一个下拉列表,但从不更新初始输入字段值。我的计划是在更改时执行此操作,这样我就可以搜索我所做的所有更改并动态获取值。问题是,当我将特定项传递给变更事件时,它仍然告诉我它是未定义的。以下是代码片段:

for(var x=0; x<data.length; x++){
    var item = data[x];
    if($('#item-'+item.Name).length){
        $('#item-'+item.Name).kendoDropDownList({
            dataSource: item.dataSource,
            dataTextField: "Label",
            dataValueField: "Value",
            value: (item.defaultValue != null) ? item.defaultValue : "",
            change: function(e, item){
                $('#item-'+item.Name).val(this.dataItem(e.item).Value);
            }
        });
    }
}

for(var x=0;x您不能简单地使用item而不传递它吗?假设您想要的项是“var item=data[x];”在kendoDropDownList外部声明,并且您可以在change函数内部使用

for(var x=0; x<data.length; x++){
    var item = data[x];
    if($('#item-'+item.Name).length){
        $('#item-'+item.Name).kendoDropDownList({
            dataSource: item.dataSource,
            dataTextField: "Label",
            dataValueField: "Value",
            value: (item.defaultValue != null) ? item.defaultValue : "",
            change: function(e){
                $('#item-'+item.Name).val(this.dataItem(e.item).Value);
            }
        });
    }
}

<代码> >(var x=0;席找到了答案),似乎不能将额外的参数传递给KidoUI中的事件函数。你必须做的是:.No.Pro(“id”),这将返回输入字段ID,并且可以根据需要设置值。