{
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默認的值讓選中