は未定義と警告である場合は、私が持っている:ExtJSの4カントチェック変数は、エラー
dockedItems: [{
xtype: 'toolbar',
store: 'RecordsListStore',
selModel: {
selType: 'cellmodel'
},
と、このようなアイコンのカップル:
},{
icon: g_settings.iconUrl + 'view-icon.png',
text: 'View',
itemId: 'view-selected-record-from-grid',
scope: this
},{
これは、私の見解であり、私のコントローラで私はこのように起動される機能を持っています:
'#view-selected-record-from-grid' : {
click: this.onViewRecordClick
}
問題は私が警告メッセージを表示することです。何も選択されていないときにユーザーがボタンをクリックした場合。私の機能では、私はそうのように(いずれかが存在する場合)選択した項目の情報を取得:
onViewRecordClick: function() {
/**
*Getting the id of the record from the selected row
*/
var id = this.getRecordsListGrid().getSelectionModel().getCurrentPosition().row;
var rec = Ext.data.StoreManager.lookup('RecordsListStore').getAt(id);
rec = rec.data.id;
その後、私はので、私は値をチェックしたいものを二つの部分の間、彼らならば、私のAjaxリクエストを呼び出します(アイコンは選択なしでクリックされます)、ユーザに警告します。しかし、私はちょうどこのしようとした場合:
if(id == undefined) { alert('No selection');}
をし、何も私は、警告メッセージが表示されますが、代わりに
this.getRecordsListGrid(コンソールでエラーを取得しない選択されていない場合、アイコンをクリックしてください) 。getSelectionModel()。getCurrentPosition()。row;定義されていません
それだけです。私はこの問題を回避するためにいくつかのことを試しています。なぜなら、関数は未定義の変数を見る時間を止めますが、まだ解決策が見つからないからです。
Leron
おかげ
getCurrentPosition()が未定義を返すか確認してください – sha
Lol、Sha、ありがとうございます。このようにして、チェックは正常に動作しています!もう一度完璧です。 <3:私はそれを受け入れることができるように答えを投稿...あなたがしたい場合.. – Leron
あなたは行く:)喜んで助ける – sha