Hi,
What you want to do is simply to change the line:
window.Oby.registerAjax(['checkout.fields.updated','cart.updated'], function(params){
to:
window.Oby.registerAjax(['checkout.fields.updated','cart.updated','checkout.shipping.updated'], function(params){
in the file checkout / show_block_fields.php view file so that it refreshes itself when the shipping is updated.
If you want to do it in a plugin, it's possible. You want to implement the trigger onCheckoutStepDisplay($layout, &$ret, &$obj, $pos, $options)
and use such code :
function onCheckoutStepDisplay($layout, &$ret, &$obj, $pos, $options) {
if($layout!='fields') return;
echo "<script>
window.Oby.registerAjax(['checkout.shipping.updated'], function(params){
window.checkout.refreshFields(". (int)$obj->step.", ".(int)$pos.");
}
</script>";
}