I have a form with a text box that has its value changed from a function. How would I create a function based on the value changing from the script and not the user \"clicking\"
You will need to call the change yourself in the code which updates the value:
$('#ShippingCost').val("something")
.change(); // this will execute the change code
Changing values through javascript does not fire events.
I'd just blur the input, so the change triggers on its own.
$('#ShippingCost').val('changed value').blur();
You need to trigger the event manually:
$('#ShippingCost').trigger('change');