在用rails+ext开发的时候 ,用上comboBox的兄弟可以参考一下!
server side:
def combo_data
sort_col = (params[:sort] || 'id')
sort_dir = (params[:dir] || 'ASC')
page = ((start/size).to_i)+1
@attrOptions = AttrOption.find(:all,
:select => "id, attr_feature_no",
:order=>sort_col+' '+sort_dir)
return_data = Hash.new()
return_data[:AttrOptions] = @attrOptions.collect{|u| {:id=>u.id,
:attr_feature_no=>u.attr_feature_no
} }
render :text=>return_data.to_json
end
client side:
var attr_feature_no = new Ext.form.ComboBox({
store:new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'http://localhost:3008/attr_options/combo_data'}),
reader:new Ext.data.JsonReader({root:'AttrOptions',id:'id'},['id','attr_feature_no'])
}),
loadingText:'正在加载...',
displayField:'attr_feature_no',
valueField:'id',
mode:'remote',
triggerAction:'all',
hiddenName:'id',
fieldLabel:'属性号',
emptyText:'请选择...',
editable:false,
allowBlank:false,
width:110,
maxHeight:150,
tabIndex:4
});
server side:
def combo_data
sort_col = (params[:sort] || 'id')
sort_dir = (params[:dir] || 'ASC')
page = ((start/size).to_i)+1
@attrOptions = AttrOption.find(:all,
:select => "id, attr_feature_no",
:order=>sort_col+' '+sort_dir)
return_data = Hash.new()
return_data[:AttrOptions] = @attrOptions.collect{|u| {:id=>u.id,
:attr_feature_no=>u.attr_feature_no
} }
render :text=>return_data.to_json
end
client side:
var attr_feature_no = new Ext.form.ComboBox({
store:new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'http://localhost:3008/attr_options/combo_data'}),
reader:new Ext.data.JsonReader({root:'AttrOptions',id:'id'},['id','attr_feature_no'])
}),
loadingText:'正在加载...',
displayField:'attr_feature_no',
valueField:'id',
mode:'remote',
triggerAction:'all',
hiddenName:'id',
fieldLabel:'属性号',
emptyText:'请选择...',
editable:false,
allowBlank:false,
width:110,
maxHeight:150,
tabIndex:4
});