Я бы сделал это, сделав AJAX-запрос к серверу для определения суммы и extended_membership, связанной с выбранным платежом, а затем обновил бы html-поля с полученными данными.
Для этого вам нужно добавить что-то подобное в onSelectChange)
$.post(URL_TO_YOUR_VIEW, {charge: charge}, function(data) {
//here you can use jquery to insert values to the html like this:
$('#id_ammount').val(data.ammount);
//also update extended membership you can sth like this:
if(data.extended_membership)
{
$('#id_extended_membership').attr('checked', 'checked');
}
else
{
$('#id_extended_membership').removeAttr('checked');
}
}, "json");
На стороне сервера вам нужно добавить представление для обработки вызова ajax.Это может выглядеть примерно так:
def magic_view_name(request):
if request.is_ajax() and request.method == 'POST':
charge = request.POST['charge']
ammount = #get ammount somehow
extended_memebership = #get ext. memebership somehow
data = simplejson.dumps({'ammount': ammount,
'extended_membership': extended_membership},
encoding="utf-8",
ensure_ascii=False)
return HttpResponse(data, mimetype="application/javascript")
return HttpResponse(u'No data for you')
Вам также необходимо добавить правильный шаблон URL в ваш urls.py, и это должно сработать.
Надеюсь, это поможет вам.
Кстати, я полагаю, что вы не хотите, чтобы пользователи могли изменять цену для выбранного ServiceCharge.Если это так, вы можете показывать их как значения только для чтения, а не как редактируемые поля формы.