真是坑惨了,一直以为前端input输入后向后台传参数对应的是input框的name值或者是textField,还试了valueField,可是在后台调试怎么都是空,还试了ajaxBeforeSend这个事件,就是当输入的时候先走这个方法然后再获取到参数值赋给另一个输入框,用parms传参,到后台还是空,怎么试都不行,去官网示例仔细找了找这方面的,看着官网都写的可简单了,仔细一看原来到后台的参数名是key,这下可把我坑了个老惨呀!附上过程:
$("#fileName1").ligerComboBox(
{
url: appContext + '/rkCtrler/queryFileName.do',
valueField : 'id',
textField: 'iname',
//columns: columns,
selectBoxWidth: 200,
autocomplete: true,
urlParms:{'iname':$("#iname").val()},
//data:data1,
width: 200,
keySupport : true,
setTextBySource : true,
onSelected: function (value){
liger.get("iname").setValue(liger.get("fileName1").getText());
},
ajaxBeforeSend:function (){
var param = liger.get("fileName1").getText();
//alert("param:"+param);
var a = $("#iname").val(param);
alert("a:"+$("#iname").val());
}
}
);
再附上最后代码,大家一定要注意后台方法的参数名称一定是key(即下面代码中queryFileName后的参数key)
<input name="fileName1" id="fileName1" data-width="200" required/>
$("#fileName1").ligerComboBox(
{
url: appContext + '/rkCtrler/queryFileName.do',
valueField : 'id',
textField: 'iname',
//columns: columns,
selectBoxWidth: 200,
autocomplete: true,
//urlParms:{'iname':$("#iname").val()},
//data:data1,
width: 200,
keySupport : true,
setTextBySource : true
}
);
@RequestMapping(name = "查询文件名称", value = "queryFileName", method = RequestMethod.POST)
@ResponseBody
public String queryFileName(String key) {
JsBaseItemExample example = new JsBaseItemExample();
com.jishuo.beans.JsBaseItemExample.Criteria criteria = example.createCriteria();
if (!StringTools.isEmpty(key)) {
criteria.andInameLike("%" + key + "%");
}
List<JsBaseItem> list = baseMapper.selectByExample(example);
JSONArray array = JSONArray.fromObject(list);
String jsonstr = array.toString();
return jsonstr;
}