Ok, I decided the solution. What happens, the ajax request is launched based on the identifier. Each time a div is reloaded via ajax, a new delegate / event will be loaded, indicating the same identifier that came before it. Therefore, when you actually press the button, both delegates do their job because both correspond to the button pressed.
There are two solutions to this problem. One of them has a unique identifier each time a button is generated as follows:
array('id' => 'next-category-'.uniqid());
In another way, and this is how I solved it,
array("id"=>"next-category", "live"=>false);
live: boolean whether to bind an event handler using live / delegate or direct style. If not installed, liveEvents will be used. Providing this send item will solve it.
source share