easyui combobox 用代码赋值不触发change事件,选择值会触发

$("#"+prodId+"").combobox({
url:ctx+'/sys/common/prodSearch/commonProdSearch/products',//请求controller查询产品数据集
valueField:'pdCode',
textField:'pdName',
method:'get',
onChange:function(newValue,oldValue){
//将改变后的值赋给参数变量
prodParamVal=newValue;
//输入3个字符后开始搜索
if(newValue.length>2||newValue.length==0){

//将下拉框输入的查询关键字传入后台重新加载下拉选
$("#"+prodId+"").combobox("reload", encodeURI(ctx+'/sys/common/prodSearch/commonProdSearch/products'));
}
}
});
应用场景:在修改数据的时候,先将此条信息反显到修改面板中,当值反显进去后不会触发onchange事件,但是在手动选择下拉中的值就会触发,我这是父子产品两个级联下拉框,子产品下拉框只有在父产品有值以后才会加载,所以我把子产品的load事件加在了父产品的onChange的事件中,

第1个回答  2015-11-05

如果想赋值触发onChange事件, 请用select不要用setValue

$('#comboboxID').combobox('select','oneValue');

本回答被网友采纳
第2个回答  2018-04-13

不会

1、$("#"+prodId+"").combobox({
url:ctx+'/sys/common/prodSearch/commonProdSearch/products',//请求controller查询产品数据集
valueField:'pdCode',textField:'pdName',
method:'get',

2、onChange:function(newValue,oldValue){//将改变后的值赋给参数变量
prodParamVal=newValue;
//输入3个字符后开始搜索
if(newValue.length>2||newValue.length==0){

3、//将下拉框输入的查询关键字传入后台重新加载下拉选
$("#"+prodId+"").combobox("reload", encodeURI(ctx+'/sys/common/prodSearch/commonProdSearch/products'));

本回答被网友采纳
第3个回答  2019-05-25
onChange:function(newValue,oldValue){
if(oldValue != ''){
代码
}
}
第4个回答  2019-06-25
请问下 你这个解决了吗 我也遇到这种问题
相似回答