on(...) won't subscribe to events that aren't on the page yet without the proper setup. To do what you want, you should try the following:
$(document).on("change", "#subcategory_id", function(){
alert( 'Success!' );
});
To make this more efficient, you should replace $(document) with the closest parent of the element that you know will be on the page when this code is called.