jquery - Kendo Dropdownlist 未更新第一条记录上的 Kendo Grid 数据源?

标签 jquery drop-down-menu kendo-ui datasource kendo-grid

这是我的问题...

我想要一个下拉列表绑定(bind)到我的网格,如下所示:

<小时/>
{
     field: "ContactTypeId",
     hidden: true
},
{
     field: "ContactTypeName",
     title: "Type",
     editor: ContactTypeAddressCombo
}
<小时/>
function ContactTypeAddressCombo(container, options) {
                $('<input placeholder="A" data-bind="value:ContactTypeId"/>')
                .appendTo(container)
                .kendoDropDownList({
                    autoBind: false,
                    dataTextField: "Name",
                    dataValueField: "ContactTypeId",
                    dataSource: {
                        type: "json",
                        serverFiltering: true,
                        transport: {
                            read: {
                                contentType: "application/json; charset=utf-8",
                                type: "POST",
                                url: "../Services/svcContact_Type.asmx/Search",
                                dataType: "json",
                                cache: false
                            },
                            parameterMap: function(options, operation) {
                                options.AddressFlag = 1;
                                options.PhoneFlag = 1;
                                options.EmailFlag = 1;
                                return kendo.stringify(options);
                            }
                        },
                        schema: {
                            data: "d"
                        }
                    },
                    index: 0
                });
            }
<小时/>

一切都很完美,除了当我向网格添加新行时。下拉列表加载良好并选择了一个项目,但除非我更改为另一项目,否则网格将无法识别所选项目(即使选择了一个项目,网格的数据源也会发送 0)。

一个解决方案是让第一个项目始终为值为 0 的“选择一个”,这将强制用户选择一个项目。但这远非理想。那么...还有其他建议吗?下拉列表是否有某种占位符?

谢谢

最佳答案

这个问题在互联网上被多次讨论,每个用户都以不同的方式描述它。创建新项目时,您应该设置默认值,以便 MVVM 框架可以正确分配 DropDownList 的选定值,或者您应该在编辑事件的帮助下手动执行此操作。

换句话说 - 您的模型属性不应为空 - 它应该是字符串或数字,否则当您使用 DropDownList 更改值时,它不会正确更新(DropDOwnList 使用的整个 dataItem 将被分配为值)。

<强> Here 是更多信息。

关于jquery - Kendo Dropdownlist 未更新第一条记录上的 Kendo Grid 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15146653/

相关文章:

javascript - 如何在文档完全加载之前但元素存在之后执行javascript?

javascript - 阶乘的最低有效非零数字

jquery - 用这个隐藏类而不是?

javascript - 来自网格的列数组的 Kendo UI 动态详细信息模板

jQuery:替换所有 CSS 背景图像

具有单选外观和感觉的 HTML <select> 多个

html - 我的下拉菜单无法正常工作

php - 动态下拉列表 - PHP 和 Javascript

javascript - 如何让按钮漂浮在剑道小部件上

javascript - 设置 Kendo UI 图表的数据源并显示摘要?