Получил странную проблему, когда отмеченный check = "checked" -attribute игнорируется, и Cake всегда получает значение = "1" после отправки формы.Неправильный выбор радиокнопки, переданных на CakePHP-контроллер
Кодекс для просмотра:
echo $this->Form->input('INCOMETYPE', array(
'legend' => false,
'value' => '1',
'type' => 'radio',
'options' => array('1' => 'Festbetrag', '2' => 'pro Stunde', '3' => 'Naturalien')
));
который печатает:
<div class="input radio required">
<input type="radio" name="data[Post][INCOMETYPE]" id="PostINCOMETYPE1" value="1" checked="checked">
<label for="PostINCOMETYPE1">Festbetrag</label>
<input type="radio" name="data[Post][INCOMETYPE]" id="PostINCOMETYPE2" value="2">
<label for="PostINCOMETYPE2">pro Stunde</label>
<input type="radio" name="data[Post][INCOMETYPE]" id="PostINCOMETYPE3" value="3">
<label for="PostINCOMETYPE3">Naturalien</label>
</div>
что на самом деле должны работать как шарм. Но:
Когда пользователь проверяет радиостанцию со значением 2 или 3, проверенный атрибут первого не исчезнет, и ни один из вновь проверенных радио не получит атрибут checked. Поэтому при представлении контроллер получает значение = «1» каждый раз. Вторая странная вещь: Когда зарегистрированном изменение принудительно с помощью JQuery так:
$('#PostDEADLINE1').click(function() {
$('#PostDEADLINE1').attr('checked', 'checked');
$('#PostDEADLINE2').attr('checked', false);
$('#PostDEADLINE3').attr('checked', false);
});
$('#PostDEADLINE2').click(function() {
$('#PostDEADLINE1').attr('checked', false);
$('#PostDEADLINE2').attr('checked', 'checked');
$('#PostDEADLINE3').attr('checked', false);
});
$('#PostDEADLINE3').click(function() {
$('#PostDEADLINE1').attr('checked', false);
$('#PostDEADLINE2').attr('checked', false);
$('#PostDEADLINE3').attr('checked', 'checked');
});
Контроллер получает значение = «1», а также. Похоже, что jQuery-подход не имеет никакого эффекта. Мой вопрос: Как я могу получить рабочий пример радиокнопки в Cake?