Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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
Jquery Kendo DROPDOLLIST未在第一条记录上更新Kendo网格数据源?_Jquery_Drop Down Menu_Kendo Ui_Datasource_Kendo Grid - Fatal编程技术网

Jquery Kendo DROPDOLLIST未在第一条记录上更新Kendo网格数据源?

Jquery Kendo DROPDOLLIST未在第一条记录上更新Kendo网格数据源?,jquery,drop-down-menu,kendo-ui,datasource,kendo-grid,Jquery,Drop Down Menu,Kendo Ui,Datasource,Kendo Grid,这是我的问题 我希望将dropdownlist绑定到我的网格: 函数ContactTypeAddressCombo(容器、选项){ $('') .appendTo(容器) .kendoDropDownList({ 自动绑定:错误, dataTextField:“名称”, dataValueField:“ContactTypeId”, 数据源:{ 键入:“json”, 是的, 运输:{ 阅读:{ contentType:“应用程序/json;字符集=utf-8”, 类型:“POST”, url

这是我的问题

我希望将dropdownlist绑定到我的网格:



函数ContactTypeAddressCombo(容器、选项){
$('')
.appendTo(容器)
.kendoDropDownList({
自动绑定:错误,
dataTextField:“名称”,
dataValueField:“ContactTypeId”,
数据源:{
键入:“json”,
是的,
运输:{
阅读:{
contentType:“应用程序/json;字符集=utf-8”,
类型:“POST”,
url:“../Services/svcContact\u Type.asmx/Search”,
数据类型:“json”,
缓存:false
},
parameterMap:功能(选项、操作){
options.AddressFlag=1;
options.PhoneFlag=1;
options.EmailFlag=1;
返回剑道。stringify(选项);
}
},
模式:{
数据:“d”
}
},
索引:0
});
}

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

一种解决方案是让第一个项目始终是“选择一个”值为0,这将迫使用户选择一个项目。但这远非理想。所以还有其他建议吗?dropdownlist是否有某种占位符


谢谢

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

换句话说,您的模型属性不应为空-它应为字符串或数字,否则在使用DropDownList更改值时,它不会正确更新(DropDownList用于的整个数据项将被指定为值)

是更多信息

{
     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
                });
            }