我有起床气 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 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记