Событие onchange на чекбокс
Добрый день!
Прошу помощи, ибо сам уже не знаю куда рыть (туплю видимо) :) Итак, есть чекбокс и поле. Поле обрабатывает функция func_change_post(); (транслит и аякс на проверку дубля этого поля к базе). function func_change_post(){ $('#title_post').liTranslit({ elAlias: $('#url_post') }); $('#title_post').blur(function(){ $('#url_post').trigger('change'); }); $('#url_post').change(function(){ //Здесь обработка аяксом, ничего выдающегося }); } Чекбок разрешает или запрещает изменение поля. При загрузке страницы делаю так, все работает if($("#url_change_post").prop("checked") == false) { func_change_post(); } А вот если я сам чекбокс кликаю, я сделал так $( "#url_change_post" ).on( "change", function() { if($(this).prop("checked") == false) { $( "#url_change_post" ).prop( "checked", false ); func_change_post(); } }); И тоже вроде все работает, но если я ставлю чекбокс после того как сам его убирал функция сама продолжает работать, хотя я от нее этого не жду. Как прекратить выполнять функцию func_change_post(); если чекбокс отмечен? При этом до этого он может несколько раз быть включен/выключен. |
Alex57B,
не очень понятно зачем бесконечно назначать обработку blur и change, на сервер идёт масса запросов одновременно, да и браузеру не сладко.. |
Цитата:
|
рони,
А бесконечно назначено как полагаю, типа когда печатают в поле #title_post идет триггер на #url_post и #url_post проверяется на дубли в базе |
Цитата:
но func_change_post() не должна содержать никаких обработчиков событий. |
рони,
Направление понял, буду думать |
Alex57B,
типа что-то такого должно быть ... function async func_change_post(){ const translit = await liTranslit(); const double = await liDouble(); const checked = url_change_post.checked; if(translit && !double && !checked) что-то делаем } |
Часовой пояс GMT +3, время: 05:10. |