JavaScript和JQuery与Telerik需要帮助
JavaScript and JQuery with Telerik help needed
开发大师:需要一些帮助。我有一个外部.js文件,它具有以下功能:
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;
//RBD THIS IS KEY TO THE DATEPICKER BOXES>>>>>>>> THIS IS THE KEY ------------- TRY TO BREAK UP>>>>>>>>>
//$(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.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.get_element()).on('validDateEntered', { effID: effDateID, endID: endDateID, type: tmp }, function (evt) {
// setEffectiveDates($find(evt.data.effID), $find(evt.data.endID), evt.data.type);
//});
endDate.add_dateSelected(function (sender, args) {
validateDatesRange(effDate, endDate);
});
endDate.get_dateInput().add_blur(function (sender, args) {
validateDatesRange(effDate, endDate);
});
}
需要帮助理解以下内容
$(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);
});
我不确定'validDateEntered'是什么意思。这是我从过去的开发人员工作的代码。似乎发生的事情是,如果日期有效,日期将被设置,但我需要它无论如何都要设置。
添加后:
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;
}
当页面加载时,它将填充多个网格。网格有一个编辑按钮。当您单击编辑按钮时,面板显示并显示effDate和endDate控件。
当您单击编辑按钮一次时,effDate会填充,但endDate不会。如果再次单击编辑按钮,endDate控件将被填充。我要他们在同一次点击中出现。我觉得自己很笨,因为我无法抓住这个问题。我希望能够捕获编辑事件,但在网格中甚至看不到它。谢谢。
'validDateEntered'是一个自定义事件。您应该在代码中搜索.trigger('validDateEntered');
,因为这将是事件的源。这将为您提供如何触发事件的线索,即使数据无效。
这里有一些关于自定义事件的讨论:http://api.jquery.com/trigger/
OP编辑后更新:
所以看起来bindDates
说每当选择日期或日期选择器模糊时,调用validateDatesRange
。如果日期有效,validateDatesRange
触发'validDateEntered'自定义事件并返回true。如果不是,则返回false而不触发事件。当触发validateDatesRange
时,effDate设置生效日期。
设置有效日期的最简单方法(可能也是最安全的方法,考虑到你还不了解应用程序)是用
替换validateDatesRange()
function validateDatesRange(effDateCtrl, endDateCtrl) {
$(effDateCtrl.get_element()).trigger('validDateEntered');
}
相关文章:
- 需要帮助设置json数组
- JQuery需要帮助理解(i,el)
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 我需要为我的朋友在这个项目上提供帮助
- Telerik rad组合框多列数据绑定
- 使用密码对话框Javascript请求帮助
- JavaScript计算帮助(乘以时间)
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- 通过Javascript设置Telerik RadTreeView属性,如OnClientNodeExpanded
- Angular ng类需要帮助设置
- {{#each}}内部的Handlebar帮助程序
- 为什么Telerik cdn在IE中不起作用
- php帮助-需要使用字符串回显php
- JavaScript,JQuery.需要帮助才能获得'name'从我的JSON中删除
- jQuery基于下拉选择更新帮助文本
- 需要比特币校验地址和json帮助
- 在JavaScript中处理数组和对象时需要帮助
- JavaScript表单提交帮助
- JavaScript和JQuery与Telerik需要帮助