Отображение текстового поля вместе с радио через форму django

Допустим, у меня есть модель с двумя полями. Когда одно поле является полем выбора радиокнопки Choice1, Choice2 и Other, следующее - Other, которое является текстовым полем, я хочу, чтобы «другое» текстовое поле появлялось / активировалось только тогда, когда в радиокнопке выбрано «Other».

0
0
283
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Этот вопрос не из категории django-forms. Это больше относится к категории клиентских интерфейсов. Все, что отправляется с сервера django, статично. Конечно, вы можете написать класс формы и переопределить для него шаблон. Также вы можете подключить js-скрипт напрямую к классу формы. Это удобно, но не канонично. Просто напишите сценарий JS или с помощью JQuery, который активирует поле при выборе определенной опции. Я написал для вас небольшой пример того, как это можно сделать. Я надеюсь, это поможет вам.

$('input[type=radio][name=choices]').change(function() {
	$('input[type=text][name=other]').prop(
  	'disabled',
    function(i, v) {
    	return !v;
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <p><input name="choices" type="radio" value="choice1">Choice 1</p>
  <p><input name="choices" type="radio" value="choice2">Choice 2</p>
  <p><input name="other" type="text" disabled></p>
</form>

Другие вопросы по теме