gpt4 book ai didi

php - ActiveDropDownList 中的默认值

转载 作者:行者123 更新时间:2023-12-01 07:08:24 26 4
gpt4 key购买 nike

我从一位老开发人员那里继承了一段代码,目前正在尝试找出它提交背后的方法。

我目前正在尝试快速修复隐藏其中一个字段以提交表单的地方,我遇到的问题是我似乎无法将下拉列表设置为默认值,应该是英国,数据库中的 ID 为 826。

echo CHtml::ActiveDropDownList($address, 'country_id', CHtml::listData(Country::model()->findAll(), 'id', 'name', 'continent'), array(
'class' => 'col-md-5 hidden',
'prompt' => 'Select Country',
'label' => 'something here',
'ajax' => array(
'type' => 'POST',
'url' => CController::createUrl('/user/UpdateRegions'),
'dataType' => 'json',
'data' => array('country_id' => 'js:this.value', 'YII_CSRF_TOKEN' => Yii::app()->request->csrfToken),
'success' => 'function(data) {
$("#Address_country_region_id").html(data.country_id);
$("#Address_country_region_id").removeClass(\'hidden\');

if($("#venue_id").val() === "") {
$("#Address_country_region_id").addClass(\'hidden\');
}
}',
)));

$path = CController::createUrl('/admin/user/UpdateRegions');
$id = $address->id;
// On Load
Yii::app()->clientScript->registerScript('ready', '
$.ajax({
type: \'POST\',
dataType : \'json\',
data: {\'country_id\': $(\'#Address_country_id\').val(), \'update_id\' : "' . $id . '"},
url: "' . $path . '",
success: function(data){
$(\'#Address_country_region_id\').html(data.country_id);
}
})
');

如何在页面加载时让这个下拉列表指向 826 的country_id,以便我可以隐藏该字段并通​​过表单验证。

问候。

最佳答案

您粘贴的这段代码的作用是:

第一部分呈现一个下拉列表,它对/user/UpdateRegions 的更改执行 ajax 请求,以填充区域的依赖下拉列表。

当页面“准备好”时,第二部分也会执行 ajax 请求。以便在页面准备好时填充区域选择。

如果您打印当前设置的 id,您的脚本应该输出 id 826。如果不是,则该值未正确设置为地址模型。

echo $address->country_id;

如果您想设置默认值,您可以在多个地方执行此操作。例如在 Controller “之前”设置实际提交的值或在模型代码本身中(取决于您的代码,例如,如果您有一个从 activerecord 模型扩展的附加表单模型)。

Controller 中的正确行可能位于以下内容之前:

 $address->country_id= 826;
before one of these lines in your controller

$address->attributes=Yii::app()->request->getQuery(get_class($address));
or
$address->attributes=Yii::app()->request->getPost(get_class($address));
or
$address->attributes=$_POST['address']; // or $_GET

如果您很难找到正确的位置,请发布一些 Controller 代码。

我想你也可以在这里找到一些帮助 Yii 1.1: An Easy Solution for Dependent dropDownList Using AJAX

关于php - ActiveDropDownList 中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34811843/

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