Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php (已解决)以编程方式更改Yii2 ActiveForm/Widget输入的值_Php_Forms_Yii2 - Fatal编程技术网

Php (已解决)以编程方式更改Yii2 ActiveForm/Widget输入的值

Php (已解决)以编程方式更改Yii2 ActiveForm/Widget输入的值,php,forms,yii2,Php,Forms,Yii2,我想通过编程在yii2中设置表单输入小部件的值,但我找不到其他人也这么做。默认值也适用于我。我有id,所以如果有办法说$modalForm->contact\u id=$my\u value并使其从模型中获取其余数据,这正是我要寻找的 这样做的目的是使用用户在其他地方输入的数据自动填充表单 以下是ActiveForm的开头: <?php $modalForm = ActiveForm::begin([ 'id' => $addProjectParticipantMod

我想通过编程在yii2中设置表单输入小部件的值,但我找不到其他人也这么做。默认值也适用于我。我有id,所以如果有办法说
$modalForm->contact\u id=$my\u value
并使其从模型中获取其余数据,这正是我要寻找的

这样做的目的是使用用户在其他地方输入的数据自动填充表单

以下是ActiveForm的开头:

<?php $modalForm = ActiveForm::begin([
        'id' => $addProjectParticipantModelModal->formName(),
        'action' => Yii::$app->urlManager->createUrl(['url-something-ajax']),
    ]); ?>
而这正是我努力工作的目的:

if (isset(Yii::$app->session["isReturningAfterContactId"]) && Yii::$app->session["isReturningAfterContactId"] != "") {
    $modalForm->contact_id->$value = Yii::$app->session["isReturningAfterContactId"];
}
如果我在Chrome开发工具中查看页面上的元素,我可以看到,当我选择某个元素时,会弹出一个类似于联系人姓名的新元素,但如果在手动选择某个元素之前,它甚至不在DOM中,我不知道如何进行此操作

有人有什么建议吗

编辑:以下是使用Select2输入类型和jquery的解决方案:

const defaultOption = new Option(name, id, true, true);
$("#IdOfSelect2Component").append(defaultValue).trigger("change");

daniel你找到解决方案了吗?@KshitijVerma我第一次尝试将其添加到模型中,但随后只显示了id,而没有显示我想要的名称。最后,我将其设置为select2输入,并使用如下jquery:
constdefaultvalue=new选项(name、id、true、true)
$(“#idOfTheSelect”).append(defaultValue.trigger(“change”)
它对您有效吗?@KshitijVerma yesHappy查看您的代码运行:)daniel您找到解决方案了吗?@KshitijVerma我首先尝试将其添加到模型中,但随后只显示了id,而没有显示我想要的名称。最后,我将其设置为select2输入,并使用如下jquery:
constdefaultvalue=new选项(name、id、true、true)
$(“#idOfTheSelect”).append(defaultValue.trigger(“change”)对你有用吗?@KshitijVerma yesHappy查看你的代码运行:)
const defaultOption = new Option(name, id, true, true);
$("#IdOfSelect2Component").append(defaultValue).trigger("change");