Combobox不能赋值怎么办?

做项目的时候,遇到这样一个问题,当我对建筑类型进行这条数据进行编辑的时候,下拉框获取不到选中的值。但是文本框就可以。我想一定是JS的代码写的有问题。

Combobox不能赋值怎么办?_第1张图片

下拉列表框:显示一个可编辑文本框和下拉式列表,用户可以选择一个值或多个值。用户可以直接输入文本到列表顶部或选择一个或多个当前列表中的值。

  $(function () {

//编辑选中的某条建筑记录
    $("#edit").click(function () {

        //获取要编辑的ID
        var row = $('#dg').datagrid('getSelected');
        var rowData = $('#dg').datagrid('getSelections');

        //只能选择一条记录进行编辑
        if (rowData.length > 1) {
            $.messager.alert("提示消息", "只能选中一行!", 'info');
            return;
        }
        //如果选中的是一条记录,则弹出编辑对话框,进行编辑
        if (rowData.length == 1) {
            //打开编辑对话框
            $('#Editdlg').dialog('open').dialog('setTitle', '编辑建筑');

            //默认情况
            $('#editBuildingsex').hide();//默认性别隐藏

            $("#Editbuildingcode").val(row.BuildingCode); //建筑代号
            $("#Editbuildingname").val(row.BuildingName); //建筑名称
            $("#Editbuildingnote").val(row.Note);         //备注
            $("#Editbuildingtype").combobox(row.BuildingTypeName);  //-------------------------------------错误的写法
            $("#Editcampus").combobox(row.CampusName);  //-------------------------------------错误的写法
            $('#Editbuildingtype').combobox({              //建筑类型下拉框 
                required: row.BuildingTypeName,
                url: '/BuildingType/QueryBuildingTypeData',//建筑类型信息查询URL地址
                valueField: 'BuildingTypeID',              //建筑类型ID
                textField: 'BuildingTypeName'              //建筑类型名称
            });    
            $('#Editcampus').combobox({                   //编辑院校信息
                url: '/Campus/QueryCampusData',           //查询院校信息URL地址
                valueField: 'CampusID',                    //校区ID
                textField: 'CampusName'                     //校区名称
            });
            $("#Editcampus").combobox("setValue", row.CampusName);
        }
        else {
            //如果选择的函数为0,则提示选择要编辑的记录
            $.messager.alert('提示', '请选择要编辑的记录!', 'info');
        }
    })
}

一开始是这么写的:

$("#Editbuildingtype").combobox(row.BuildingTypeName); 
$("#Editcampus").combobox(row.CampusName); 

导致数据根本传不过来了,后来查了查Combobox的方法,有这样一个方法:

setValue:设置下拉列表框的值。

代码示例:

$('#cc').combobox('setValue', '001');

更改后:
Combobox不能赋值怎么办?_第2张图片

代码:

$("#Editbuildingtype").combobox("setValue",row.BuildingTypeName);
 $("#Editcampus").combobox("setValue", row.CampusName);

这样就显示出来了:
Combobox不能赋值怎么办?_第3张图片

问题不大,查查资料总能解决的。多多交流。关键时刻,API文档真的相当管用。多多查API文档,最基本的知识也是从中获取的。

你可能感兴趣的:(Combobox不能赋值怎么办?)