У меня проблема с выполнением некоторых моих кодов в неожиданном порядке. У меня есть две кнопки, каждая из которых связана с функцией нажатия. Одна кнопка - «Отмена», и она вносит некоторые изменения на дисплее. Вторая кнопка «Готово», которая сохраняет изменения, записывая их в скрытое поле ввода, а затем запускает обработчик события «Отмена». Вот как выглядит мой код.
/*done link*/
$("#donelink").bind('click', function() {
var idvalues = $.map($(".ledgerline input:checkbox:checked"), function(el, i) {
return $(el).val().toString();
}).join(',');
$("#my_input").val(idvalues);
$("#cancellink").triggerHandler('click');
});
/*cancel link*/
$("#cancellink").bind('click', function() {
/*some basic css and other property changes*/
$(".ledgerline input:checkbox:checked").parent().parent().trigger('click');
});
/* The function bound to this event:
$(".ledgerline input:checkbox:checked").parent().parent().trigger('click');
*/
function {
/* other stuff */
$(this).find("input:checkbox").remove();
}
Что я ожидаю, так это то, что когда я нажимаю ссылку «Готово», она находит значения во всех флажках и записывает их в #my_input. И тогда он нажмет на ссылку отмены, сняв все флажки. Вместо этого происходит то, что все флажки сначала снимаются, а затем в качестве значения записывается пустая строка.
Любая помощь? Я не понимаю, почему это происходит.