我使用带有收音机类型的yii2 kartik开关输入,我想在javascript中获取所选选项的值(特别是在JsExpression中),这是我的代码:
$model->orientation = 'Portrait';
echo $form->field($model, 'orientation')->widget(SwitchInput::classname(), [
'name' => 'information_orientation',
'type' => SwitchInput::RADIO,
'value' => 'Portrait',
'items' => [
['label' => 'Portrait   ', 'value' => 'Portrait'],
['label' => 'Paysage   ', 'value' => 'Paysage'],
],
'pluginOptions' => [
'onText' => 'Oui',
'offText' => 'Non',
'onColor' => 'success',
'offColor' => 'danger',
'size' => 'mini'
],
'labelOptions' => ['style' => 'font-size: 13px'],
]);
我试过了:
$([name='information-orientation']).val()
但它返回了一个未定义的值
答案 0 :(得分:2)
SwitchInput
类does not care关于您提供的名称属性
根据他们的文档,您需要将name
包裹在options
数组
echo $form->field($model, 'orientation')
->widget(SwitchInput::classname(), [
'options' => ['name' => 'information_orientation'],
'type' => SwitchInput::RADIO,
....
来自docs:
options
: array 小部件输入代码的HTML属性。
修改强>
然后,您可以使用以下
// to get value:
$("[name='information_orientation']").val()
// to check if the switch is or on off
$("[name='information_orientation']").prop('checked')