昨天在做东西的时候遇到了这么个问题 form:checkbox 的值来源于字典
但是通过 Jquery的 $("#path").val() 无法获取到 form:checkbox的值
<div class="form-group">
<label class="control-label">${text('汇总条件')}:</label>
<#form:checkbox path="summaryConditions" dictType="poorder_summary_conditions"
class="form-control" />
</div>
解决办法是:
$("input[name='summaryConditions']:checkbox").each(function(){
(this).value
})
同时呢 通过选择某个汇总条件来控制DataGrid 中列的显示和隐藏
{header:'${text('供应商')}', name:'fsupplierid',hidden:true, width:100, align:"center"},
{header:'${text('物料图号')}', name:'fmaterialid.fmodel',hidden:true, width:150, align:"center"},
{header:'${text('物料名称')}', name:'fmaterialid.fname',hidden:true, width:150, align:"center"},
{header:'${text('结算模式')}', name:'fentrysettlemodeld',hidden:true, index:'a.fentrysettlemodeld', width:100, align:"center",
formatter: function(val, obj, row, act){
if(val=='-') {
return val;
}
return js.getDictLabel(${@DictUtils.getDictListJson('settlement_mode')}, val, '${text('未知')}', true);
}},
$("#submit").click(function(){
$("input[name='summaryConditions']:checkbox").each(function(){
if((this).value==1) {
if((this).checked) {
$('#dataGrid').setGridParam().showCol("fsupplierid").trigger("reloadGrid");
}else {
$('#dataGrid').setGridParam().hideCol("fsupplierid").trigger("reloadGrid");
}
}
if((this).value==2) {
if((this).checked) {
$('#dataGrid').setGridParam().showCol("fmaterialid.fmodel").trigger("reloadGrid");
$('#dataGrid').setGridParam().showCol("fmaterialid.fname").trigger("reloadGrid");
}else {
$('#dataGrid').setGridParam().hideCol("fmaterialid.fmodel").trigger("reloadGrid");
$('#dataGrid').setGridParam().hideCol("fmaterialid.fname").trigger("reloadGrid");
}
}
if((this).value==3) {
if((this).checked) {
$('#dataGrid').setGridParam().showCol("fentrysettlemodeld").trigger("reloadGrid");
}else {
$('#dataGrid').setGridParam().hideCol("fentrysettlemodeld").trigger("reloadGrid");
}
}
})
});