Dev Gurus: Вам нужна помощь. У меня есть файл внешних .js, который имеет следующую функцию:Требуется JavaScript и JQuery с Telerik
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». это код, над которым я работаю от прошлого разработчика. Кажется, что происходит то, что дата будет установлена, если она действительна, но мне нужно, чтобы она установила NO MATTER WHAT.
Добавить позже:
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.
Эффект заполняется, когда вы нажимаете кнопку редактирования один раз, но endDate нет. Если вы снова нажмете кнопку редактирования, элемент управления EndDate будет заполнен. Мне нужно, чтобы они были заполнены одним и тем же кликом. Я чувствую себя глупым, потому что не могу уловить проблему. Хотелось бы, чтобы я мог захватить событие редактирования, но даже не вижу его в сетке. Спасибо заранее.
Чтение следующее, но все еще не понимаю ... http://api.jquery.com/on/#on-events-selector-data-handlereventObject – Moojjoo