非常にばかげた問題 - 助けてください - 私の髪を引き裂く.
edatagrid のエディターとしてのコンボボックス - 正常に動作 ローカル配列はコンボボックスのデータ ソース - 正常に動作 リモート php は edatagrid のソース - 正常に動作 easyUI: 1.3.4 jQuery: 2.0.0 CentOS: 5.9
問題
データグリッドのコンボボックスは、選択後に textField を表示することを拒否します。valueField の表示を主張します。インターネット全体から複数のソリューションを試しました。
コードは - 申し訳ありません - vi で編集されています - 書式設定は本当に不安定かもしれません - 以下のコンボボックスのフォーマッタ関数は、私が試した最新バージョンです - valueField を表示することを主張します
<script type="text/javascript">
$(function(){
var aRights = [{rightid: 'V', rightname: 'View Only'},
{rightid: 'E', rightname: 'Edit FPC'},
{rightid: 'A', rightname: 'Admin'},
{rightid: 'N', rightname: 'None'}
] ;
$('#cbCompany').combobox({
url: 'fpc_company_list.php',
valueField: 'companyid',
textField: 'companyname',
onSelect: function(rec) {
var url = 'fpc_user_list.php?companyid=' + rec.companyid;
$('#cbUser').combobox('reload', url);
//$('#cbUser').combobox('clear');
}
});
$('#cbUser').combobox({
valueField: 'userid',
textField: 'userfullname',
onSelect: function (rec) {
var url = 'fpc_get_user_channel_map.php?userid=' + rec.userid ;
$('#tChannels').edatagrid({url: url}) ;
}
});
$('#tChannels').edatagrid({
url: 'fpc_get_user_channel_map.php',
columns: [[
{field: 'channelid', title: 'Channel ID', visible: false},
{field: 'channelname', title: 'Channel'},
{field: 'rights', title: 'Rights', width: 150, editor: {type: 'combobox',
options: {
valueField: 'rightid',
textField: 'rightname',
panelHeight: 'auto',
data: aRights,
formatter: function(value) {
console.log(value) ;
for (var i = 0; i < aRights.length; i++) {
if (aRights[i].rightid == value.rightid) return aRights[i].rightname ;
}
return value.rightid;
}
}
}
}
]]
});
$('#bSubmit').bind('click', function() {
var selRow = $('#tChannels').datagrid('getData');
var jsonStr = JSON.stringify(selRow) ;
alert(jsonStr) ;
$.ajax({
url : 'fpc_map_user_channel_update.php',
type: 'POST',
dataType: 'text',
data: jsonStr,
done: function(res) {
alert(res) ;
}
});
} //function
); //button bind
});
</script>