0

こんにちは、codeigniter を使用しています。以下の例のように、依存する入力テキストを作成したいと考えています。

numberphone、Name、Society の 3 つのフィールドがあり、ユーザーが numberphone を入力したときに Name と Society を自動入力したい:

Mysqlのテーブルの構造は次のとおりです。

人物 (id,numberphone,name,social)

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

            }
        });

    });

何も起こりませんでした。

4

1 に答える 1

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 出力をどのようにフォーマットしているかを確認してください。

于 2012-08-05T14:11:23.963 に答える