我正在使用代码点火器,我使用代码点火器形式帮助器创建了一个表单,并且我使用来自我的数据库的数据加载2个下拉框,这非常有效。当我填写所有字段时,它的工作原理。我目前有2个必填字段。其中一个不是必需的。当我填写所有必填字段时,它可以工作,但从我没有填写一个必填字段。它给出了这个错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: Cities
Filename: admin/adddivelocation_view.php
Line Number: 67
第67行的代码是:
echo form_dropdown('duikplaats', $Cities, '', $attributes_dropdown_gemeente);
我在视图中看到了这样的$ cities:
function addDiveLocation()
{
$data['Cities'] = $this->admin_model->getCity();
$data['Countries'] = $this->admin_model->getCountries();
$this->is_logged_in('admin/adddivelocation_view', $data);
}
我的脚本,其中2个下拉菜单的值或属性更改为:
$('#duikplaats').change(function(){
var data = {
'id': $(this).val()
}
$.get(CI.base_url + "/admin/changeCountry", data, function(content){
console.log(content);
$('#duikland option:selected').removeAttr('selected');
$('#duikland option').filter(function(){
return $(this).val() == content;
}).attr('selected', true);
});
});
//Wanneer Land gekozen word
$('#duikland').change(function(){
var data = {
'id': $(this).val()
}
$.get(CI.base_url + '/admin/changeCity', data, function(content){
$('#duikplaats').empty();
var landen = $.parseJSON(content);
$.each(landen, function(k, v){
$('#duikplaats').append(
'<option value="' + k + '">'+ v + '</option>'
);
});
});
});
和jQuery函数调用的2个函数: 的 changeCountry:
function changeCountry(){
$query = $this->admin_model->getCountry($this->input->get('id'));
$this->output->set_output($query->FK_LandID);
}
changeCity:
function changeCity(){
$query = $this->admin_model->getCities($this->input->get('id'));
foreach($query as $object)
{
$data[$object->id] = $object->Gemeente;
}
$data = json_encode($data);
$this->output->set_output($data);
}
答案 0 :(得分:0)
错误消息显示没有定义$ Cities变量。我也无法在您发布的代码片段中找到$ Cities变量。
您需要定义类似$ Cities = $ data ['Cities']的内容;或者,因为您在函数中定义了$ data全局可用。从您发布的代码中可以清楚地看出这一点。
第二个下拉菜单是否适用于$ States?
答案 1 :(得分:0)
我找到了解决方案。当我发布我的表单时,它会通过验证功能,在成功发布时加载成功视图,或者在失败时加载原始视图。当它失败时它只加载视图但我忘了将任何数据提供给视图,因此它无法加载数据。
非常感谢!