gpt4 book ai didi

javascript - DropDownList 在处理页面后丢失值

转载 作者:行者123 更新时间:2023-12-02 22:50:44 31 4
gpt4 key购买 nike

我有一个 activeDropDownList 类型的字段,用户在其中选择所需的月份,并且 View “mobilizer”处理所选月份的大量查询。

但是,渲染页面后,activeDropDownList 字段会丢失值。 (返回提示值'prompt'=>'Selecione o mês')。

<?php 

$this->registerJs('var submit = function (val){if (val > 0) {
window.location.href = "' . Url::to(['dailyproductivity/mobilizador']) . '&mes=" + val;
}
}', View::POS_HEAD);
echo Html::activeDropDownList($model, 'mes', app\modules\productivity\models\Meta::getFiltroMes(), ['onchange'=>'submit(this.value);','prompt'=>'Selecione o mês','class'=>'form-control input-sm', 'style' => 'text-transform: uppercase']);
?>

更新

在我的模型中Meta.php

public static function getFiltroMes()
{
$data = [
'01' => 'JANEIRO',
'02' => 'FEVEREIRO',
'03' => 'MARÇO',
'04' => 'ABRIL',
'05' => 'MAIO',
'06' => 'JUNHO',
'07' => 'JULHO',
'08' => 'AGOSTO',
'09' => 'SETEMBRO',
'10' => 'OUTUBRO',
'11' => 'NOVEMBRO',
'12' => 'DEZEMBRO',
];

return $data;
}

最佳答案

您需要更新javasript代码并更改&?在 url 查询字符串中,这就是您的 $model->mes 的原因是 null因为未附加查询字符串

'&mes=" + val;

'?mes=" + val;

使该行看起来像

window.location.href = "' . Url::to(['dailyproductivity/mobilizador']) . '?mes=" + val;

当你需要通过 php 在 View 中添加 javascript 片段时,你应该使用 HEREDOC,这样可读性可以帮助你自己发现错误

您的代码应如下所示

$js=<<<JS
var submit = function (val) {
if (val > 0) {
window.location.href = "' . Url::to(['dailyproductivity/mobilizador']) . '?mes=" + val;
}
}
JS;
$this->registerJs($js, View::POS_HEAD);

关于javascript - DropDownList 在处理页面后丢失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58186611/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com