Javascript 需要jQuery帮助——两个控件一个正在设置,另一个未设置
我有两个控件,一个正在设置,另一个未设置。任何能够提供帮助的jQuery大师都会很好。我将添加所有代码调用: 我们需要查看bindDatePickerEvents() 下一个日期() 设定生效日期Javascript 需要jQuery帮助——两个控件一个正在设置,另一个未设置,javascript,jquery,Javascript,Jquery,我有两个控件,一个正在设置,另一个未设置。任何能够提供帮助的jQuery大师都会很好。我将添加所有代码调用: 我们需要查看bindDatePickerEvents() 下一个日期() 设定生效日期 function setEffectiveDates(effDateCtrl, endDateCtrl, attrType) { var type = attrType !== undefined ? attrType : -1, effDate = effDateC
function setEffectiveDates(effDateCtrl, endDateCtrl, attrType) {
var type = attrType !== undefined ? attrType : -1,
effDate = effDateCtrl.get_selectedDate(),
endDate = endDateCtrl.get_selectedDate(),
effDateString = effDate == undefined ? '' : dateToString(effDate),
endDateString = endDate == undefined ? '' : dateToString(endDate);
switch (type) {
//RBD CODING ON SATURDAY MORNING CARTOONS
case _attrTypes.benefitPlan:
_selected.benefitPlan.eff_date = effDateString;
_selected.benefitPlan.end_date = endDateString;
break;
case _attrTypes.serviceCategory:
_selected.serviceCategory.eff_date = effDateString;
_selected.serviceCategory.end_date = endDateString;
break;
case _attrTypes.serviceDefinition:
_selected.serviceDefinition.eff_date = effDateString;
_selected.serviceDefinition.end_date = endDateString;
break;
case _attrTypes.diagnosisGroup:
_selected.diagnosisGroup.eff_date = effDateString;
_selected.diagnosisGroup.end_date = endDateString;
break;
case _attrTypes.ageGroup:
_selected.ageGroup.eff_date = effDateString;
_selected.ageGroup.end_date = endDateString;
break;
case _attrTypes.placeOfService:
_selected.placeOfService.eff_date = effDateString;
_selected.placeOfService.end_date = endDateString;
break;
default:
_details.eff_date = effDateString;
_details.end_date = endDateString;
break;
}
}
最终验证范围
function validateDatesRange(effDateCtrl, endDateCtrl) {
var result = true,
effDate = effDateCtrl.get_selectedDate(),
endDate = endDateCtrl.get_selectedDate(),
cell = $(effDateCtrl.get_element()).parents('td').first();
if (effDate && endDate) {
if (effDate > endDate) {
var div = "<div class='errorMessage' style='display:none;'>Effective date must be less than end date.</div>";
$(div).prependTo(cell).fadeIn();
result = false;
}
}
if (result) {
cell.find('div.errorMessage').fadeOut(200, null, function () { $(this).remove(); });
$(effDateCtrl.get_element()).trigger('validDateEntered');
}
return result;
}
您的第一个代码块中是否存在复制/粘贴奇怪之处?在
返回之前,我会期待一些东西{
,可能是一个缺少的函数声明?Klores我将发布整个脚本…参见JSFIDLE-假设与您的实时代码完全匹配,则有两个对象变量缺少结尾;
s-\u缓存的,\u选择的和\u重叠日期
。我不知道这是否有什么不好的地方o解决您的问题,但值得纠正。您如何使用sc
?
function bindDates(effDate, endDate, attrType) {
//Declare variables to be used in the JavaScript Function
var effDateID = effDate.get_id();
var endDateID = endDate.get_id();
var tmp = attrType;
$(effDate.get_element()).on('validDateEntered', { effID: effDateID, endID: endDateID, type: tmp }, function (evt) {
setEffectiveDates($find(evt.data.effID), $find(evt.data.endID), evt.data.type);
});
effDate.add_dateSelected(function (sender, args) {
validateDatesRange(effDate, endDate);
});
effDate.get_dateInput().add_blur(function (sender, args) {
validateDatesRange(effDate, endDate);
});
endDate.add_dateSelected(function (sender, args) {
validateDatesRange(effDate, endDate);
});
endDate.get_dateInput().add_blur(function (sender, args) {
validateDatesRange(effDate, endDate);
});
}
function setEffectiveDates(effDateCtrl, endDateCtrl, attrType) {
var type = attrType !== undefined ? attrType : -1,
effDate = effDateCtrl.get_selectedDate(),
endDate = endDateCtrl.get_selectedDate(),
effDateString = effDate == undefined ? '' : dateToString(effDate),
endDateString = endDate == undefined ? '' : dateToString(endDate);
switch (type) {
//RBD CODING ON SATURDAY MORNING CARTOONS
case _attrTypes.benefitPlan:
_selected.benefitPlan.eff_date = effDateString;
_selected.benefitPlan.end_date = endDateString;
break;
case _attrTypes.serviceCategory:
_selected.serviceCategory.eff_date = effDateString;
_selected.serviceCategory.end_date = endDateString;
break;
case _attrTypes.serviceDefinition:
_selected.serviceDefinition.eff_date = effDateString;
_selected.serviceDefinition.end_date = endDateString;
break;
case _attrTypes.diagnosisGroup:
_selected.diagnosisGroup.eff_date = effDateString;
_selected.diagnosisGroup.end_date = endDateString;
break;
case _attrTypes.ageGroup:
_selected.ageGroup.eff_date = effDateString;
_selected.ageGroup.end_date = endDateString;
break;
case _attrTypes.placeOfService:
_selected.placeOfService.eff_date = effDateString;
_selected.placeOfService.end_date = endDateString;
break;
default:
_details.eff_date = effDateString;
_details.end_date = endDateString;
break;
}
}
function validateDatesRange(effDateCtrl, endDateCtrl) {
var result = true,
effDate = effDateCtrl.get_selectedDate(),
endDate = endDateCtrl.get_selectedDate(),
cell = $(effDateCtrl.get_element()).parents('td').first();
if (effDate && endDate) {
if (effDate > endDate) {
var div = "<div class='errorMessage' style='display:none;'>Effective date must be less than end date.</div>";
$(div).prependTo(cell).fadeIn();
result = false;
}
}
if (result) {
cell.find('div.errorMessage').fadeOut(200, null, function () { $(this).remove(); });
$(effDateCtrl.get_element()).trigger('validDateEntered');
}
return result;
}
function pageLoad() {
$(document).ready(function () {
sc.init(getClientIDs());
});
}