我有起床气 2019-04-18 16:29 采纳率: 100%
浏览 487
已采纳

用$.each处理从后台取到的json数据后该如何绑定到combobox

图片说明
最终实现第一个combobox选择后第二个combobox的数据源会实时变化

                $('#ListEquStop').datagrid('selectRow', index)
                    .datagrid('beginEdit', index);
                var ed = $('#ListEquStop').datagrid('getEditor', { index: index, field: field });
                if (ed) {
                    ($(ed.target).data('textbox') ? $(ed.target).textbox('textbox') : $(ed.target)).focus();

                    var ed1 = $('#ListEquStop').datagrid('getEditor', { index: index, field: 'EquStopTy' });
                    var ed2 = $('#ListEquStop').datagrid('getEditor', { index: index, field: 'EquStopId' });
                    //var editor1 = ed[0];
                    //var editor2 = ed[1];
                    //var editor3 = ed[2];
                    $(ed1.target).combobox({
                        onChange: function (newValue, oldValue) {
                            $.ajax({
                                type: 'post',
                                url: "/DMS/ProductionData/GetListByEquTy",
                                data: { newValue: newValue },
                                async: false,
                                success: function (data) { 
                                    $.each(data, function (i, item) {
                                        var id = item.Id;
                                        var desc = item.EquStop_Desc
                                        //alert(id);
                                        //alert(desc);

##                                                                              _**此处数据已取出,需进行绑定**_

                                    });
                                }

                            });

                        }

                    });

                }

下面是界面部分

                {
                    field: 'EquStopTy', title: '设备停止类型', width: 80, formatter: function (value, row) {
                        return row.EquStop_Type;
                    }, editor: {
                        type: 'combobox',
                        options: {
                            url: '/DMS/EquStop/GetComboxDataByEquStopId',
                            valueField: 'Id',
                            textField: 'Name',
                            method: 'post',
                            //required: true,
                            //missingMessage: '设备停止项目必选!',
                            editable: false
                        }
                    }
                },
                {
                    field: 'EquStopId', title: '设备停止项目', width: 80, formatter: function (value, row) {
                        return row.EquStop_Desc;
                    }, editor: {
                        type: 'combobox',
                        options: {
                            url: '/DMS/EquStop/GetComboxDataByEquStop',
                            valueField: 'Id',
                            textField: 'Name',
                            method: 'post',
                            editable:false
                        }
                    }
                }

就是说我的desc如何绑定到第二个combobox上

        public ActionResult GetListByEquTy(string newValue)
        {
            List<DMS_EquStopModel> list = new List<DMS_EquStopModel>();
            MyCommonHelp mycommonHelp = new MyCommonHelp();
            StringBuilder sql = new StringBuilder();
            sql.AppendFormat(@"select Id,EquStop_Desc as Name from DMS_EquStop
            where EquStop_Type = '{0}'", newValue);

            DataTable dt = DBHelp.GetDataTable(sql.ToString());

            list = mycommonHelp.ConvertToList<DMS_EquStopModel>(dt);
            return Json(list, JsonRequestBehavior.AllowGet);

        }
  • 写回答

3条回答 默认 最新

  • 1进击的小白 2019-04-18 16:47
    关注

    绑定的话具体的数据不用遍历出来了,$(ed2.target).combobox("reload", data);这样试试,我在网上找的方法
    你的textField是Name,返回的data中也要有这个属性,不然可能没数据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog