javascript - 在 Yii2 中尝试通过 javascript 获取自动填充文本框时获取空值

标签 javascript php yii2

当下拉字段填满数据时,我试图填充文本框。但我的结果为 null。当我传递“id”时,它返回值,但当我传递名称时,它返回 null

Controller

public function actionGetForProduction($catid)
    {
        $bottle = Productnames::findOne($catid);
        echo Json::encode($bottle);
    }

_form 中的 JavaScript 代码

<?php
$script = <<< JS
$('#catid').change(function(){   
    var catid = $(this).val();

     $.get('index.php?r=production/productnames/get-for-production',{ catid : catid }, function(data){
        alert(data);

    });
});
JS;
$this->registerJs($script);
?>

错误截图 Here

最佳答案

如果您将参数作为字符串传递给 findOne(),默认情况下它是主键字段。在您的情况下,您必须作为数组传递,如 findOne(['catid'=>$catid])

但是如果您希望 Controller 接受 id 或名称,请尝试以下操作:

public function actionGetForProduction()
        {
            if($id=Yii::$app->request->get('id')){
                 $bottle = Productnames::findOne($id);
               }
            elseif($catid=Yii::$app->request->get('catid')){
                 $bottle=Productnames::findOne(['catid'=>$catid]);
               }
            echo Json::encode($bottle);
        }

关于javascript - 在 Yii2 中尝试通过 javascript 获取自动填充文本框时获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36768557/

相关文章:

javascript - 如何在 jQuery 中正确声明变量

php - 如何修复出现拉伸(stretch)的图像?

php - Yii2 简单的喜欢不喜欢按钮保存在数据库中

javascript - 如何将 javascript 代码包含到 php View 中?

javascript - 从 iframe 内的脚本重定向整个页面的任何方法

php - 是否可以使用 iframe 跟踪来自第三方的 ip 或流量

javascript - 为数组显示添加/删除类 - sonarqube

php - 如何删除数据库中不存在的文件

php - 如何保持远程 MySQL 数据库与主 MySQL 数据库同步(使用 PHP)?

yii2 - 如何在 Yii2 表单错误摘要中显示 HTML 标签