2013-08-13 6 views
0

값을 선택하면 아약스 호출이 발생하고 텍스트 상자를 채워야한다는 드롭 다운이 있습니다. 기본 기능이 작동합니다 (즉, 내 컨트롤러에서 값을 조회하는 함수를 호출 함). 그러나 검색된 값을 표시하는 텍스트 상자의 값을 가져올 수 없습니다. 대신 다음과 같이 나타나는 텍스트 상자 HTML 코드의드롭 다운에서 텍스트 상자 업데이트 CakePHP로 선택

그것은이로 업데이트 한 것

<input name="data['Visit']['room_rate'] type="text" id="VisitRoomRate" value="100.00"></input> 

(100.00 가정하면 반환 값) (값이 값으로 설정 입력 태그와하지 사이 = "100")

여기
<input name="data['Visit']['room_rate'] type="text" id="VisitRoomRate">100.00</input> 

뷰의 코드 검색된 값을 표시이다

//get_room_rate.ctp 

<?php echo $room_rate; ?> 

다음은 AJAX 호출 나는 그것을

나는 객실 요금 입력 그래서 내 양식을 변경 가야하는 올바른 방법이 있는지 잘 모르겠어요하지만 일을 가지고

$this->Js->get('#VisitRoomId')->event('change', 
    $this->Js->request(array(
     'controller'=>'visits', 
     'action'=>'getRoomRate' 
     ), array(
     'update'=>'#VisitRoomRate', 
     'async' => true, 
     'method' => 'post', 
     'dataExpression'=>true, 
     'data'=> $this->Js->serializeForm(array(
      'isForm' => false, 
      'inline' => true 
      )) 
     )) 
); 

편집에 대한 코드는 내가 그렇게

같은 입력으로 바꾼 새 번호를 표시합니다 내보기에서 다음이

?><div id="room_rate_update"><?php 
    echo $this->Form->input('room_rate', array('label' => 'Room Rate (numbers only)')); 
?></div><?php 

과 같은 사업부에

답변

0

'update'옵션을 사용하여 제공된 DOM 항목을 업데이트하는 대신 'success'옵션을 사용하여 ajax 호출 완료시 발생되는 콜백 함수의 이름을 지정하십시오. 그런 다음 해당 함수에서 텍스트 대신 입력 값을 업데이트하십시오. (Cake의 JS 도우미는 달리 바로 자바 스크립트 또는 jQuery로 아마 좀 더 쉽게)

http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::request

+0

나는 당신에게 기회를주지 않지만 작동하도록 얻었다. 장래에 도움이 될지도 모릅니다. – user1406951

관련 문제