welcome to WPSE!
This answer from Mike Schinkel was useful to find a
solution* for Get QueryString values with jQuery.
*(not used anymore, a simple
$_GET does it)
That being said, the following code does the trick. It doesn't use
admin_enqueue_scripts -best practice-, and instead is printing it directly in the admin footer...
Add this code to your theme's
functions.php and make your custom link to "Add New Page" like this:
the_id the ID of the desired parent page.
add_action( 'admin_head-post-new.php', 'pre_select_parent_wpse_56952' );
// Check if adding new page
if( !isset($_GET['post_type']) || 'page' != $_GET['post_type'] )
// Check for pre-selected parent
if( !isset($_GET['the_id']) || empty( $_GET['the_id'] ) )
// There is a pre-selected value for the correct post_type, proceed with script
$the_id = $_GET['the_id'];
$('#parent_id').val(<?php echo $the_id; ?>);