Найти - Пользователи
Полная версия: ChoiceField, отключить некоторые варианты выбора
Начало » Django » ChoiceField, отключить некоторые варианты выбора
1
mks
День добрый.
Есть такая форма:
CH=(
('1','категория 1'),
('2','выбор 1'),
('3','выбор 2'),
('4','категория 2'),
('5','выбор 1'),
('6','выбор 2'),
)
class TestForm(forms.Form):
pole1 = forms.ChoiceField(label=u'поле 1', choices=CH)
В шаблон она выводится стандартно:
        
<form action="" method="POST">
<table>
{{ form.as_table }}
</table>
</form>
в браузере получаю:

<form action="" method="POST">
<table>
<tr>
<th>
<label for="id_pole1">поле 1:</label>
</th>
<td>
<select name="pole1" id="id_pole1">
<option value="1">категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4">категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
</select>
</td>
</tr>
</table>
</form>
Я хочу сделать так чтобы при генерации HTML кода формы, “категория 1” и “категория 2” были с тегом disabled:
....
<option value="1" disabled>категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4" disabled>категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
....
Подскажите каким образом это можно сделать путём наименьшего сопротивления со стороны django ? :)
Заранее спасибо.
FishHook
mks
День добрый.
Есть такая форма:
CH=(
('1','категория 1'),
('2','выбор 1'),
('3','выбор 2'),
('4','категория 2'),
('5','выбор 1'),
('6','выбор 2'),
)
class TestForm(forms.Form):
pole1 = forms.ChoiceField(label=u'поле 1', choices=CH)
В шаблон она выводится стандартно:
        
<form action="" method="POST">
<table>
{{ form.as_table }}
</table>
</form>
в браузере получаю:

<form action="" method="POST">
<table>
<tr>
<th>
<label for="id_pole1">поле 1:</label>
</th>
<td>
<select name="pole1" id="id_pole1">
<option value="1">категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4">категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
</select>
</td>
</tr>
</table>
</form>
Я хочу сделать так чтобы при генерации HTML кода формы, “категория 1” и “категория 2” были с тегом disabled:
....
<option value="1" disabled>категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4" disabled>категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
....
Подскажите каким образом это можно сделать путём наименьшего сопротивления со стороны django ? :)
Заранее спасибо.
Почему бы не задействовать JavaScript?
mks
FishHook
Почему бы не задействовать JavaScript?
В принципе тоже вариант. Я думал может я чего то не нашёл в доках и есть какой то стандартный способ. Но похоже в данном случае надо свой widget писать для такого отображения поля.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB