У меня есть этот класс в моей модели:Получить значение выбранного поля из выпадающего списка
class ServiceCharge(models.Model):
name = models.CharField(max_length=30)
amount = models.PositiveIntegerField()
extends_membership = models.BooleanField(default=False)
def __unicode__(self):
return str(self.name)
То, что я хочу иметь в форме для зарядки пользователей платы за обслуживание, когда заряд выбран из выпадающее меню, два значения для amount
и extends_membership
обновляются по форме в зависимости от выбранного заряда.
Мой forms.py:
class vModelChoiceField(forms.ModelChoiceField):
def label_from_instance(self, obj):
return "%s" % obj.name
class PayServiceChargeForm(PaymentsForm):
service_charge = vModelChoiceField(queryset=ServiceCharge.objects.all(),
empty_label=" ")
class Meta(PaymentsForm.Meta):
exclude = ('member', 'payment_type', 'transacted_by', 'description')
Затем шаблон формы:
<table border="0">
<tr>
<td><strong>{% trans "Service Charge" %}</strong></td>
<td>{{ form.service_charge }}</td>
<td><strong>{% trans "Extends Membership" %}</strong></td>
<td>{{ form.extends_membership }}</td>
</tr>
<tr>
<td valign="top"><strong>{% trans "Expiry Date" %}</strong></td>
<td valign="top">{{ form.expiry_date }}</td>
<td valign="top"><strong>{% trans "Amount" %}</strong></td>
<td>{{ form.amount }}</td>
</tr>
</table>
Я испытывал некоторые JQuery, но я застрял после получения выбранного заряда:
<script type="text/javascript">
$(document).ready(function(){
$("#id_service_charge").change(onSelectChange);
});
function onSelectChange(){
var selected = $("#id_service_charge option:selected");
var output = "";
if(selected.val() != 0){
charge = selected.val();
.... (update values) ....
}
}
</script>
Вы ищете серверную помощь или помощь на стороне клиента? Если вам нужна помощь на стороне клиента, отправьте клиентский код. – user113716