Thanks for the help man!
Perhaps this html will make it more clear where I'm messing up -
The objective is simple. When I tab out of a satellite-site input, it should update what I wrote.
HTML -
- <form action="" method="post">
<label for="satellite_site_1"><strong>Site 1:</strong></label>
<input type="text" value="d" name="satellite_site_1" id="satellite_site_1" class="satellite_site" />
<br><br>
<label for="satellite_site_2"><strong>Site 2:</strong></label>
<input type="text" value="d" name="satellite_site_2" id="satellite_site_2" class="satellite_site" />
<br><br>
<label for="satellite_site_3"><strong>Site 3:</strong></label>
<input type="text" value="d" name="satellite_site_3" id="satellite_site_3" class="satellite_site" />
<br><br>
<label for="satellite_site_4"><strong>Site 4:</strong></label>
<input type="text" value="d" name="satellite_site_4" id="satellite_site_4" class="satellite_site" />
<br><br>
<label for="satellite_site_5"><strong>Site 5:</strong></label>
<input type="text" value="d" name="satellite_site_5" id="satellite_site_5" class="satellite_site" />
<br><br>
<label for="satellite_site_6"><strong>Site 6:</strong></label>
<input type="text" value="d" name="satellite_site_6" id="satellite_site_6" class="satellite_site" />
<br><br>
<label for="satellite_site_7"><strong>Site 7:</strong></label>
<input type="text" value="d" name="satellite_site_7" id="satellite_site_7" class="satellite_site" />
<br><br>
<label for="satellite_site_8"><strong>Site 8:</strong></label>
<input type="text" value="d" name="satellite_site_8" id="satellite_site_8" class="satellite_site">
<br><br>
<label for="satellite_site_9"><strong>Site 9:</strong></label>
<input type="text" value="d" name="satellite_site_9" id="satellite_site_9" class="satellite_site" />
<br><br>
<label for="satellite_site_10"><strong>Site 10:</strong></label>
<input type="text" value="d" name="satellite_site_10" id="satellite_site_10" class="satellite_site" />
<br><br>
</form>
jQuery -
- <script type="text/javascript">
jQuery(document).ready(function (jQuery) {
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(
ajaxurl, { //this is the data...
action: 'my_action',
whatever: jQuery("#satellite_site_1").val()
}, function (response) {
jQuery('.satellite_site').live('focusout', function () {
var replace = '<input class="satellite_site" type="text" id="' + jQuery(this).attr('id') + '" name="' + jQuery(this).attr('id') + '" value="' + response + '" />';
jQuery(this).replaceWith(replace);
});
});
});
</script>
I don't think I'll be solving this one on my own! Help greatly appreciated.
edit: my <br /> tags are like this "<br />" only when I copy from firebug it closes them like this "<br>"
Here is the php code which generates them -
- <?php
echo '<div id="satellite_site_set" class="wrap">';
?>
<h2>MSM Satellite Site Settings</h2>
<form method="post" action="">
<?php
$site_count = 1;
while($site_count <= 10){
?>
<label for="satellite_site_<?php echo $site_count; ?>"><strong>Site <?php echo $site_count; ?>:</strong></label>
<input class="satellite_site" type="text" id="satellite_site_<?php echo $site_count; ?>" name="satellite_site_<?php echo $site_count; ?>" value="testing" />
<br /><br />
<?php
$site_count++;
}
?>
</form>
<?php
echo '</div>';
?>