在 bootstrap 和 knockout 共同存在下使用 select 下拉選擇插件,發現綁定選項、賦值之后插件不可用了,綁定的監聽事件也丟失了。迫不得已在綁定選項值之后再次調用刷新,以及賦值后重新綁定監聽。不知哪位大神有更好的方式解決,求留言。。。。。。
$.post('/cpms/cpms/api/getProjectList', data).done(function(result) { if(typeof(result) == "string"){ result = JSON.parse(result.data); } if(result.data.rows){ viewModel._helper.projectCodes(result.data.rows); //綁定下拉選項 $('.selectpicker').selectpicker('refresh');//刷新插件 } }).fail(function (err) { return ''; })
//為插件賦選中值 $('#PROJECT_NAME_SELECT').selectpicker('val',taskData.PROJECT_CODE); // $('#PROJECT_NAME_SELECT').selectpicker('refresh');//重新刷新不好使 // $('#PROJECT_NAME_SELECT').selectpicker('render');//也不好使 //重新綁定監聽 initChange(taskData.PROJECT_CODE); …… function initChange(projectCode){ $('#PROJECT_NAME_SELECT').on('changed.bs.select', function(e) { if(e.target.value){ var project = viewModel._helper.projectCodes().filter(function(item) { return item.projectCode === e.target.value; }); }