0 レビュー
2 回答
php-Yii2フォームフィールドで生成されたチェックボックスリストでカスタムcssクラスを渡すにはどうすればよいですか?
質問のタイトルに従って、Yii2フォームフィールドを使用して、生成された各チェックボックスリストでカスタムcssクラスを渡すのに苦労しています。
これが私の機能です:
public function getItems()
{
$items = [];
foreach (explode("\n", $this->options) as $option) {
if (strpos($option, '=>') !== false) {
list($key, $value) = explode('=>', $option);
$items[trim($key)] = Yii::t($this->propertyField->language_category, trim($value));
} else {
$items[] = Yii::t($this->propertyField->language_category, trim($option));
}
}
return $items;
}
今のところ、このリストを取得します:
<div class="form-group field-propertyfields">
<label class="form-label">Property Amenities</label>
<div id="propertyfields-7" class="multiselect-checkboxes">
<label><input type="checkbox" name="propertyFields[7][]" value="1">Elevator</label>
<label><input type="checkbox" name="propertyFields[7][]" value="2">Parking</label>
<label><input type="checkbox" name="propertyFields[7][]" value="3">Fireplace</label>
</div>
</div>
入力の各ラベルにカスタムクラスを追加して、次のようにします。
<label class="my-custom-class"><input type="checkbox" name="propertyFields[7][]"value="2">Parking</label>
チェックボックスリストをレンダリングする方法は次のとおりです:
public function getList($form, $model, $searchAttribute, $options = [])
{
$options['class'] = 'multiselect-checkboxes';
$formName = "{$searchAttribute}[{$this->propertyField->id}]";
return $form->field($model, $formName)->checkboxList($this->getItems(), $options)->label($this->propertyField->getFieldTitle());
}
わからない
0
レビュー
答え :
解決策:
$options['class'] = 'multiselect-checkboxes';
オプション変数にもう1つの配列を追加します-'itemOptions'。
$options['itemOptions'] = ['class'=>'your class name for checkbox inputs'];
これにより、すべてのチェックボックス入力にクラスが追加されます。さらに、ラベルにカスタムクラスを追加するには、「labelOptions」を「itemOptions」に追加します。
$options['itemOptions']['labelOptions'] = ['class'=>'your class name for checkbox labels'];
参照-https://www.yiiframework.com/doc/api/2.0/yii-widgets-activefield#checkboxList()-詳細
activeCheckboxListオプションをさらに確認します
わからない
0
レビュー
答え :
解決策:
次のようにjqueryを使用してビューファイルに追加します
$(".multiselect-checkboxes").children('label').addClass("my-custom-class");
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。