2012-11-29 3 views
0

에 표시하십시오. 먼저 AJAX 및 CodeIgniter에서 완전히 익숙해졌습니다.AJAX를 통해 가치를 얻으십시오. CodeIgniter 요소를 CodeIgniter

나는 시작이 기사를 읽고 그리고 난 좀 이해를 생각하십시오 select HTML 요소를 변경할 때

http://www.amitavroy.com/justread/content/articles/getting-ajax-data-using-views-codeigniter

내가해야 할 일은 폼의 Input Field을 업데이트하는 것입니다.

<select class="select" name="formulario"> 
    <?php 
    foreach($listaForms as $form) { 
    echo "<option value={$form}>{$form}</option>"; 
    } 
    ?> 
</select> 

나는이 작업을 수행하는 방법을 알고 jQuery로

1), change() 들어요. 2) POST로 ajax 기능을 만드십시오. 3) 공개 기능을 사용하여 데이터를 검색합니다.

글쎄, 문제는 여기 간다 ... 내가 읽고 있어요 튜토리얼에서

는 사람은 HTML 응답을 가져옵니다.

나는 하나의 값 또는 많은 값만 필요합니다. 이 특별한 경우에는 텍스트 파일에 마지막으로 인쇄 된 숫자 인 값이 하나만 필요합니다.

LastPrintedNumber=>23 
OtherValue=>20 

내가 correcly 나는 응답에 필요한 값을 확인하고 자바 스크립트로 할 수있는 방법을 변경 :

질문은

, 어떻게 응답은 가정, 내가 필요로하는 값을 식별 할 수 있습니까?

값을 확인하고 얻은 후에는 입력 텍스트 필드의 value 만 변경하면됩니다.

감사합니다 !!!

답변

0

서버의 응답은 JSON 형식이어야합니다. PHP의 json_encode 함수를 사용하십시오. 귀하의 PHP (서버 측) 코드는 다음과 같이해야한다 :

// if it's a json request 
if(!empty($_POST['data']) && 'ajax' == $_POST['data']) 
{ 
    $res = array('LastPrintedNumber' => 23, 'OtherValue' => 20); 
    header('Content-type: application/json'); 
    echo json_encode($res); 
    exit; // no need to render the template 
} 

그것을 처리 할 수 ​​있도록/당신의 jQuery 코드를 수정합니다 JSON 응답을 구문 분석 :

$(function(){ 
    $('#formulario').change(function() { 
     $.ajax({ 
     type: 'POST', 
     url: '/migup', 
     data: {'data' : 'ajax', 'selectedValue' : $(this).val()}, 
     dataType: 'json', 
     success: function(val) { 
      console.log('LastPrintedNumber: ' + val.LastPrintedNumber); 
      alert('OtherValue:' + val.OtherValue); 
     }   
     }); 
    }); 
    }); 

희망하는 데 도움이됩니다. 건배!

+0

Excelent! 내가 생각했던 것보다 훨씬 단순하다. 모든 것은 .ajax 함수로 해결된다. 감사! – JorgeeFG

+0

테스트 해봤는데 효과적입니다! 다시 한 번 감사드립니다! – JorgeeFG

+0

여러분을 환영합니다! 도와 줘서 기뻐요! –