2013-06-18 1 views
0

내가 사용자 이름에 대한 자동 완성을 만들 CodeIgniter의를 사용하고있는 ID 표시 :jQuery를 자동 완성 반환 데이터 - aswell 레이블로

매개 변수 사용 : 내가 JSON으로 다시 다음과 같은 데이터를 얻을 검색 사용자 기간 = s을 (를) :

{"id":"1","value":"Stuart Blackett"}{"id":"2","value":"Simon Wilton"} 

enter image description here

그러나 내가 말에 대한 검색에서 자동 선택 실행하고 때 "ST는"그것은 다시 이름으로 옵션의 제공뿐만 아니라 ID뿐만 아니라.

어떻게 이런 일이 발생하지 않도록 할 수 있습니까? 내 루프가 문제가 될 수 있다고 생각합니다. 다음과 같이

내 PHP의 기능은 다음과 같습니다

function search_user() 
    { 
      $term = $this->input->get('term'); 

      $user_search = $this->vendor_model->search_user($term); 

      $user['response'] = 'false'; 

      if(count($user_search) > 0) 
      { 
       $user['response'] = 'true'; 
       $user = array(); 
       foreach($user_search as $user) 
       { 
        $user = array(
         'id'  => $user->user_id, 
         'value' => $user->user_firstname .' '. $user->user_surname 
        ); 

        echo json_encode($user); 
       } 
      } 
    } 
+0

'$ user_search'의 값은 무엇입니까? – jterry

+0

용어 = 's'에 대한 계수 ($ user_search)의 에코는 2입니다. – StuBlackett

답변

1

{"id":"1","value":"Stuart Blackett"}{"id":"2","value":"Simon Wilton"}이 유효 JSON 없습니다.

$user의 정보를 별도로 에코하지 말고 대신 해당 배열의 usersjson_encode()의 새 배열을 만드십시오. 예 :

foreach($user_search as $user) { 
    $users[] = array(
     'id' => $user->user_id, 
     'value' => $user->user_firstname .' '. $user->user_surname 
    ); 
} 

echo json_encode($users); 
+0

Brilliant! 고마워요 @ jterry 나는 json이 유효한지 아닌지 또한 앞으로 알게 될 것입니다. 환호 – StuBlackett

+1

도와 줘서 기쁩니다! 미래에도 도움이되는 ['json_last_error()'] (http://php.net/manual/en/function.json-last-error.php)는 PHP JSON 함수를 디버깅 할 때 유용합니다. 이 솔루션이 당신을 위해 일한다면 받아 들일 수 있습니다 :) – jterry

+0

json_last_error JSON에서 상당히 유용한 오류 트래퍼처럼 보입니다. 감사. 솔루션 수용 – StuBlackett