$(function() {
<code>
});
is short for:
$(document).ready(function() {
<code>
});
So the first version says to bind the handler after the document is ready. But since all the code is inside another document ready handler, it's already waiting for that event, so the extra wrapper has no effect. So the two versions are equivalent.
If you want a named function that does what the click handler does, you can do:
function somefunction() {
$('#id_submit_button_type').val('submit_and_add');
}
$(document).ready(function() {
$('#submit-id-submit_and_add').click(somefunction);
});