【发布时间】:2021-12-21 03:00:00
【问题描述】:
我有一个函数setServiceId(serviceId),通过单击某个按钮调用它,然后我传递该服务的 id。
我还有serviceIdSubscrier = vm.selectedServiceId.supsendableSubscribe(changeServiceId),它监听serviceId的每一个变化(例如,如果我点击id = 5151,然后点击5152,这个事件将被触发并调用一个函数changeServiceId)
但是,现在,我希望当我多次单击相同的服务时也被触发,因为它会在 id 不同时触发(例如,我单击服务 id=5151,然后再次单击 id=5151),我想具有与我单击不同 ID 相同的行为
这是我的全部功能:
function setServiceId(serviceId) {
vm.selectedServiceId(serviceId);
jQuery.post(rootUrl + 'spaemployeeadmin/GetFirstSearchFilterDateForParent', {
locationId: vm.selectedLocationId()
})
.done(function (data) {
var dateObj = { day: data.Day, month: data.Month, year: data.Year };
vm.refreshData(dateObj, null);
});
}
serviceIdSubscrier = vm.selectedServiceId.supsendableSubscribe(changeServiceId)
function changeServiceId() {
var currentService = getService();
if (vm.combineSchedules()) {
vm.selectedService(currentService || {});
refreshAllowedTimes().then(function () {
setTimeByPreviousSelection();
checkToPushCriteria();
});
} else {
refreshOnServiceType();
}
}
【问题讨论】:
标签: javascript knockout.js binding