0

我正在使用代码点火器,我用代码点火器表单助手制作了一个表单,我从我的数据库中加载了 2 个下拉框,并且效果很好。当我填写所有字段时,它就可以工作了。我目前有 2 个必填字段。其中 1 个不是必需的。当我填写所有必填字段时,它可以工作,但是当我不填写一个必填字段时。它给出了这个错误:

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);

    }

改变城市:

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);
    }
4

2 回答 2

0

我找到了解决方案。当我发布我的表单时,它会通过验证功能,当它成功发布时我会加载成功视图,或者当它失败时加载原始视图。当它失败时,它只加载了视图,但我忘记将任何数据返回给视图,因此它无法加载数据。

不管怎么说,还是要谢谢你!

于 2012-05-27T11:36:11.637 回答
0

错误消息说没有定义 $Cities 变量。我也无法在您发布的代码片段中找到 $Cities 变量。

要么你需要定义类似的东西 $Cities = $data['Cities']; 或使 $data 全局可用,因为您在函数中定义它。从您发布的代码中并不清楚。

第二个下拉菜单是否适用于 $Countries ?

于 2012-05-27T11:07:06.167 回答