依赖输入文本codeigniter

时间:2012-08-05 09:52:41

标签: codeigniter text input types

您正在使用codeigniter,我想创建依赖输入文本,如下例所示:

我有三个字段的号码,姓名,社会,我想在用户输入号码时自动填写姓名和社会:

这是我在Mysql中的表的结构:

人(身份证,号码,姓名,社会)

S的形式如下:这是我的观点:

视图

<table>
            <tr>
               <td valign="top">Telephone<span style="color:red;">*</span></td>
               <td>
                 <input type="text" name="telephone" class="text" id="telephone"/>
                  <?php echo form_error('telephone'); ?>
               </td>
            </tr>
            <tr>
               <td valign="top">Usager<span style="color:red;">*</span></td>
               <td>
                  <input type="text" name="usager" class="text" id="usager" readonly="readonly">
                  <?php echo form_error('nbcas'); ?>
               </td>
            </tr>
            <tr>
               <td valign="top">society<span style="color:red;">*</span></td>
               <td>
                  <input type="text" name="society" class="text" id="society" readonly="readonly">
                  <?php echo form_error('nbcas'); ?>
               </td>
            </tr>

               <td><input type="submit" value="Enregistrer"/></td>
            </tr>

         </table>

我的控制器:

public function GetUsager()
{
    if($this->input->is_ajax_request())
    {

        $telephone = $this->input->post('phone');
        $data['row'] = $this->structure->GetUsagerId($telephone);



        header('Content-Type: application/json',TRUE);
        //echo(json_encode($this->structure->GetUsagerId($usager)));
       // echo json_encode($data['usager']);
        echo json_encode($data);
    }
}

和我的模特

function GetUsagerId ($telephone)
  {
     $this->db->select('name','society');
     $this->db->where('numberphone',$telephone);
     $query=$this->db->get('Person');



     if($query->num_rows() > 0) 
     {

         $row = $query->row();
         return $row;

     } 

}

视图中的jquery代码

$('#telephone').keyup(function() {
 var phone = $('#telephone').val();
 var baseurl = "<?= base_url(); ?>";
        $.ajax({
            type    : "POST",
            url     : baseurl+"index.php/main/GetUsager",
            dataType: 'json',
            data    : phone,
            success: function(data) {
                   $("#usager").append(data.row);

            }
        });

    });

没有任何事情发生。

1 个答案:

答案 0 :(得分:0)

在你的ajax请求代码中:

        $.ajax({
        type    : "POST",
        url     : baseurl+"index.php/main/GetUsager",
        dataType: 'json',
        data    : phone,
        success: function(data) {
               $("#usager").append(data.row);

        }

您应该将$("#usager").append(data.row)更改为$("#usager").val(data.row.name)

编辑:您还应将data: phone更改为data: "phone=" + phone

此外,我认为你应该参考data.row.name来阅读这个名字。我已从data.row更改为data.row.name。检查您如何格式化JSON输出。