jQuery如何让select数据库预填数据触发onChange事件
方案1:赋值后主动触发已绑定的change事件
jQuery支持手动触发元素的绑定事件,你只需要在赋值后调用不带参数的.change()或者.trigger('change'),就可以触发之前写好的change处理逻辑,示例代码:
// 赋值后直接触发change事件,自动执行已绑定的处理函数 $("#wagan").val("2").change(); // 等价写法 // $("#wagan").val("2").trigger('change');
注意:你之前的写法是给
.change()传入了回调函数,这种写法的作用是给元素新增绑定一个change事件回调,不会立即执行,只有下次change事件触发时才会运行该回调,和你要的效果不符。
方案2:把处理逻辑抽成独立函数直接调用
如果担心触发change事件会影响其他绑定的回调,可以把change事件里的公共逻辑单独封装为函数,赋值后直接调用该函数即可:
第一步:封装公共逻辑并绑定事件
// 把change处理逻辑抽成独立函数 function handleWaganChange() { var dayu = $('#wagan option:selected').attr('data-yuyu'); if (dayu == '1'){ // Do something when the value is 1 }else if(dayu == '2'){ // Do something when the value is 2 }else if(dayu == '3'){ // Do something when the value is 3 }; } // 绑定change事件 $('#wagan').change(handleWaganChange);
第二步:赋值后直接调用处理函数
$("#wagan").val("2"); // 直接运行处理逻辑 handleWaganChange();
内容的提问来源于stack exchange,提问作者Muhammad Faisal
相关产品推荐
相关产品推荐

