程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> combo box-easyui datagrid combobox聯動的問題

combo box-easyui datagrid combobox聯動的問題

編輯:編程綜合問答
easyui datagrid combobox聯動的問題
        {
            field: 'NMJ04', title: '夫婦姓名', width: 100, sortable: true,
            editor: {type: 'combobox', options: {
                required: true,
                url: '/handler/familyinfo.ashx?flag=treeClubNet&t=4',
                dataType: 'json',
                parentField: 'pid',
                textFiled: 'text',
                valueField: 'id',
                method: 'get',
                lines: true,
                editable: false,
                panelHeight: 130,
                onSelect: function (record) { 
                    var row = $('#dd').datagrid('getSelected');
                    var rowIndex = $('#dd').datagrid('getRowIndex',row);//獲取行號
                    var target = $('#dd').datagrid('getEditor', {'index':rowIndex,'field':'NMJ05'});//.target;
                    target.combobox('clear'); //清除原來的數據   
                    var url = '/handler/spouseinfo.ashx?flag=getValueNMK06&t='+record.id;
                    target.combobox('reload', url);//聯動下拉列表重載
                    //這裡還需要設置一個textbox的值,NMJ06,怎麼辦?
                },
                panelMaxWidth: 200
            }

            }
        },

NMJ04是姓名,選擇了之後自動提出NMJ05(性別)和NMJ06,身份證號碼
新增行和編輯行的時候怎麼操作啊?
我新增時row的值直接是null,求教求教

最佳回答:


                 onSelect: function (record) { 
                    var row = $('#dd').datagrid('getSelected');
                    var rowIndex = $('#dd').datagrid('getRowIndex', row);//獲取行號
                    //注意這裡:獲取到的編輯器是個json對象,不是jquery包裝的dom對象或者dom對象
                    var target = $($('#dd').datagrid('getEditor', { 'index': rowIndex, 'field': 'NMJ05' }).target);//要轉為jquery包裝的對象,要不下面那句會報錯
                    target.combobox('clear'); //清除原來的數據   
                    var url = '/handler/spouseinfo.ashx?flag=getValueNMK06&t='+record.id;
                    target.combobox('reload', url);//聯動下拉列表重載
                    $.ajax({
                        url: '獲取NMJ06值的url地址', type: 'POST', data: { id: record.id }, success: function (d) {
                            $($('#dd').datagrid('getEditor', { 'index': rowIndex, 'field': 'NMJ06' }).target).val(d);
                        },
                        error: function (xhr) {
                            alert('動態頁有問題。。\n'+xhr.responseText)
                        }
                    });
                }

編輯時我建議是統一用一個ajax發送請求後,獲取所有返回的數據,在success中統一設置,而不是單獨設置。

“我新增時row的值直接是null”,這個不太明白什麼意思。。新增的話你的record沒有記錄,所以你選中新增記錄需要動態獲取的值肯定是獲取不到的,這時需要手動填寫才行,或者給combobox默認的值讓選中

showbo
snaif_lx
snaif_lx
showbo
snaif_lx
showbo
showbo
showbo
snaif_lx
snaif_lx
snaif_lx
snaif_lx
snaif_lx
snaif_lx
snaif_lx
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved