Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用kendomvvm将由select元素生成的(基本)kendodropdownlist和option元素中的数据绑定到javascript对象?_Javascript_Drop Down Menu_Kendo Ui - Fatal编程技术网

如何使用kendomvvm将由select元素生成的(基本)kendodropdownlist和option元素中的数据绑定到javascript对象?

如何使用kendomvvm将由select元素生成的(基本)kendodropdownlist和option元素中的数据绑定到javascript对象?,javascript,drop-down-menu,kendo-ui,Javascript,Drop Down Menu,Kendo Ui,我似乎不知道,也看不到文档或网络上任何地方的例子来说明如何做到这一点 我有一个简单的选择元素,我已经标记为剑道下拉列表 HTML: oDataSource.OptionID的console.log每次显示-1 我在这里创建了一个小提琴,演示了上面的代码: 我做错了什么 问候, 斯科特有两个问题: 您应该将oDataSource定义为observateObject,否则您的变量不会绑定到DropDownList 您需要改用change处理程序,因为选择选项时会触发select,但input尚未更改

我似乎不知道,也看不到文档或网络上任何地方的例子来说明如何做到这一点

我有一个简单的选择元素,我已经标记为剑道下拉列表

HTML:

oDataSource.OptionID的console.log每次显示-1

我在这里创建了一个小提琴,演示了上面的代码:

我做错了什么

问候,

斯科特有两个问题:

  • 您应该将
    oDataSource
    定义为
    observateObject
    ,否则您的变量不会绑定到
    DropDownList
  • 您需要改用
    change
    处理程序,因为选择选项时会触发
    select
    ,但
    input
    尚未更改
  • 因此,您的代码应该是:

    var oDataSource = kendo.observable({
        OptionID: -1
    });
    
    // MVVM Bind View to Record
    kendo.bind($('#View'), oDataSource);
    
    // Log OptionID set in oDataSource by DropDownListing Binding
    $('#DropDownList').data('kendoDropDownList').bind('change', function (e) {
        console.log('Selected Option: ' + oDataSource.OptionID);
    });
    

    在这里看到您修改的JSFIDLE:

    伟大的工作伙伴。谢谢你的帮助,非常感谢。
    $(document).ready(function() {
        var oDataSource = {
            OptionID: -1
        };
        // MVVM Bind View to Record
        kendo.bind($('#View'), oDataSource);
        // Log OptionID set in oDataSource by DropDownListing Binding
        $('#DropDownList').data('kendoDropDownList').bind('select', function (e) {
            console.log('Selected Option: ' + oDataSource.OptionID);
        });
    });
    
    var oDataSource = kendo.observable({
        OptionID: -1
    });
    
    // MVVM Bind View to Record
    kendo.bind($('#View'), oDataSource);
    
    // Log OptionID set in oDataSource by DropDownListing Binding
    $('#DropDownList').data('kendoDropDownList').bind('change', function (e) {
        console.log('Selected Option: ' + oDataSource.OptionID);
    });