>  Q&A  >  본문

Yii 2에서 사용자 정의 드롭다운 메뉴의 항목이 제대로 작동하지 않습니다.

<p>Yii 2에서 나만의 드롭다운 목록 기능을 만들고 있습니다. 함수와 뷰를 만들었고 뷰의 드롭다운 양식에 여러 항목이 있습니다. </p> <pre class="brush:php;toolbar:false;"><?= $form->customDropDown($dpForm, 'color', [ '항목' => [ '라벨' => '빨간색', '값' => '빨간색', '옵션' => '스타일' => '색상: 빨간색' ] ] [ '라벨' => '파란색', '값' => '파란색', '옵션' => '스타일' => '색상: 파란색' ] ] ] </pre> <p>제가 만든 함수는 다음과 같습니다(ActiveForm을 사용하며 위치함). </p> <pre class="brush:php;toolbar:false;"> 공개 함수 customDropdown($model, $attribute, $items = [], $options = []) { $value = Html::getAttributeValue($model, $attribute); $field = $this->field($model, $attribute, $options); $this->staticOnly 반환 ? $field: $field->dropDownList($items); } </pre> <p>문제는 드롭다운을 열면 레이블과 스타일이 있는 옵션뿐만 아니라 모든 것이 옵션 또는 옵션 그룹이라는 것입니다. </p> <p><em>Inspector</em>의 표시 효과는 다음과 같습니다.</p> <pre class="brush:html;toolbar:false;"><optgroup label='0'> <옵션 값="라벨">빨간색</option> <옵션 값="값">빨간색</option> </optgroup> <optgroup label="옵션"> <옵션 값="스타일">색상: 빨간색</option> </optgroup> </pre> <p>등등. 제가 원하는 효과는 다음과 같습니다. </p> <pre class="brush:html;toolbar:false;"><옵션 값="red" style="color: red>red</option> </pre> <p>하지만 이 효과를 얻을 수는 없는 것 같습니다. </p>
P粉268284930P粉268284930433일 전552

모든 응답(1)나는 대답할 것이다

  • P粉801904089

    P粉8019040892023-09-06 14:29:43

    드롭다운의 각 항목이 지정된 레이블, 값 및 스타일이 있는 단일 <option> 태그로 표시되는 원하는 출력을 얻으려면 다음과 같이 코드를 수정해야 합니다. 보기 파일에서 customDropDown 함수 호출을 업데이트하여 항목 배열을 올바르게 전달합니다. 으아악 업데이트된 방법: 으아악 이 업데이트된 버전에서는 $options 배열을 dropDownList方法,并使用array_column$items 배열에서 레이블-값 쌍 추출에 직접 전달합니다.

    회신하다
    0
  • 취소회신하다