Zend_Form_Element_Radio
의 개별 옵션을 비활성화 할 수 있습니까? 즉, 특정 입력 태그에 disabled="disabled"
을 추가하고 싶습니다.Zend_Form_Element_Radio에서 개별 옵션을 비활성화하는 방법
젠드 프레임 워크에이 기능이 포함되어 있습니까? 아니면 이것을 수행 할 또 다른 방법이 있습니까?
Zend_Form_Element_Radio
의 개별 옵션을 비활성화 할 수 있습니까? 즉, 특정 입력 태그에 disabled="disabled"
을 추가하고 싶습니다.Zend_Form_Element_Radio에서 개별 옵션을 비활성화하는 방법
젠드 프레임 워크에이 기능이 포함되어 있습니까? 아니면 이것을 수행 할 또 다른 방법이 있습니까?
예, 그것은 가능하다 :
$element->setMultiOptions(array (
'songs' => 'songs',
'lyrics' => 'lyrics',
'artists' => 'artists'
));
$element->setAttrib('disable', array('lyrics', 'songs'));
그것은 옵션 키에 가장 잘 작동합니다. 다음은 현재 활성화 된 옵션을 제외한 모든 옵션을 비활성화하는 기능입니다.
/**
* This function disables all options of the given selectElement, except for the active one
* @param \Zend_Form_Element_Select $selectElement
* @throws \Zend_Form_Exception
*/
private function disableAllOtherOptions(\Zend_Form_Element_Select $selectElement)
{
$theOneAndOnlyActiveValue = $selectElement->getValue();
$optionsToDisable = [];
foreach ($selectElement->options as $key => $option) {
if ($key <> $theOneAndOnlyActiveValue) {
$optionsToDisable[] = $key;
}
}
$selectElement->setAttrib('disable', $optionsToDisable);
}
감사합니다. 나는 아직 시도하지 않았지만, 내가 가지고있는대로 곧 알려 드리겠습니다. –
ZF 1.11.11에서 확인되었습니다. 대신이 대답을 받아 들여야합니다. – LinusR
이 답변은 올바른 답변이므로 받아 들여야합니다. 나는 노력했다, 그것은 작동한다. – darpet