做項目的時候,遇到這樣一個問題,當我對建築類型進行這條資料進行編輯的時候,下拉框擷取不到選中的值。但是文本框就可以。我想一定是JS的代碼寫的有問題。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISMwUjMxETNwIDOxUDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
下拉清單框:顯示一個可編輯文本框和下拉式清單,使用者可以選擇一個值或多個值。使用者可以直接輸入文本到清單頂部或選擇一個或多個目前清單中的值。
$(function () {
//編輯選中的某條建築記錄
$("#edit").click(function () {
//擷取要編輯的ID
var row = $('#dg').datagrid('getSelected');
var rowData = $('#dg').datagrid('getSelections');
//隻能選擇一條記錄進行編輯
if (rowData.length > ) {
$.messager.alert("提示消息", "隻能選中一行!", 'info');
return;
}
//如果選中的是一條記錄,則彈出編輯對話框,進行編輯
if (rowData.length == ) {
//打開編輯對話框
$('#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');
更改後:
代碼:
這樣就顯示出來了:
問題不大,查查資料總能解決的。多多交流。關鍵時刻,API文檔真的相當管用。多多查API文檔,最基本的知識也是從中擷取的。