Я использую динамическую форму wbraganca во всплывающем окне. В этом мне нужно показать и проверить поля, основанные на выборе радиокнопок. Так что я вызываю функцию javascript в событии onchange.
<?= $form->field($model, "[{$i}]option")->dropDownList(['month'=>'Month','year'=>'Year'],["class"=>"custom-radio-inline","onChange"=>"changeFields($(this))"])->label(false);?>
Я пытаюсь получить проверенное значение, используя JavaScript, как показано ниже. Работает только первый набор полей, если пользователь добавляет другую форму, он всегда возвращает значение 1.
function changeFields(item)
{
var id = "#"+item.attr("id")+" input[type=radio]:checked";
var val = $(id).val()
console.log(val);
}
В этом я не прав, помогите, пожалуйста, я хочу показать и скрыть поля, основанные на этом переключателе, и выполнить проверку также на основе этого выбора. !Важный это я хочу в любой форме.
использовать когда клиент в правилах.
[['myAtt'], 'required', 'whenClient' => new JsExpression("function (attribute, value) {
console.log(attribute, value);
}
")]
Других решений пока нет …