2014-11-14 12 views
0

부트 스트랩 x 편집 가능을 사용하여 목록 페이지에서 변수를 인라인으로 편집하고 싶습니다. 이전에이 기능을 사용했지만 하나의 ID와 하나의 값만있는 테이블에서 제대로 작동했습니다. 이제이 경우 사용자는 콘텐츠의 개요 페이지에서 사용자 이름을 클릭합니다. 클릭하면 사용자 이름이있는 선택 상자로 바뀝니다. 이것은 잘 작동합니다. 그러나 저장시 데이터는 저장되지 않습니다. 적어도이보기 0CakePHP : 부트 스트랩 x 편집 가능한 데이터가 저장되지 않았습니다.

로 저장된 :이은으로 설정되어 클릭에

<a href="#" data-name="newValue" class="xedit-username editable editable-click" 
data-url="/contents/editassignee/<?php echo $content['Content']['id'];?>"><?php echo $content['User']['username'];?></a> 

(이 괜찮아 보인다) :

<a href="#" data-pk="5" data-name="newValue" class="xedit-username editable editable-click editable-open" 
data-url="/contents/editassignee/5" style="display: none;">alvin</a> 
<span class="editable-container editable-inline"> 
<div> 
    <div class="editableform-loading" style="display: none;"></div> 
    <form class="form-inline editableform" style=""> 
     <div class="form-group"><div> 
     <div class="editable-input"> 
      <select class="form-control input-medium"> 
       <option value="1">alvin</option> 
       <option value="83">robert</option> 
      </select> 
     </div> 
    </form> 
</div> 
</span> 

선택 상자를 활성화하기위한 스크립트는 다음과 같습니다

$('.xedit-username').editable({ 
    type: 'select', 
    title: 'Select username', 
    source: '/users/listing', 
    showbuttons: false 
}); 

저장 후 콘텐츠 컨트롤러의이 기능은 다음과 같이 사용됩니다.

public function editassignee($id = null) { 
    $this->autoRender = false; 
    $this->Content->id = $id; 
    $this->Content->saveField('user_id', $_POST['newValue']); 
} 

실제로 내가 잘못 된 부분을 보길 바란다. 아니면 디버깅하는 것이 가장 쉬운 방법이 무엇인지 알 수 있기를 바랍니다. 고맙습니다 미리

+0

브라우저 개발자 도구 (오른쪽 클릭, 요소 검사, 네트워크 탭)를 사용하여 테스트하고 실제로 게시 된 데이터를 확인하십시오. – Ananth

+0

알립니다. x-editable 문서의 결함처럼 보입니다. data-name = "newValue"는 전송 된 데이터의 이름이 아닙니다. 하지만 다음과 같습니다 : name = newValue & value = 1 & pk = 7 => Thanx Ananth –

답변

0

저는 x-editable에 익숙하지 않지만 select에는 이름 값이 없어야합니다.

관련 문제