2014-10-04 2 views
0

3은 search.accident.XXXXX.id에 바인드 된 ng-model을 사용하여 선택합니다. 컨트롤러 범위 변수는 데이터 구조에서 검색하는 데 사용됩니다. 첫 번째 HTML 스 니펫은 번거 로움없이 작동하지만 두 번째 스 니펫은 변수가 변경 되더라도 멈추지 않습니다. 일종의 '업데이트'문제를 생각해 봅니다 : 데이터 구조의 총체적 특성에 대해 angularjs를 암시해야합니까? 방법?angularjs : 집계 범위 변수에서 HTML을 새로 고치는 방법

근무 조각은 다음과 같이

<h2> 
    «&nbsp;{{search.accident.symptom.id}}&nbsp;» 
    observé(es) sur «&nbsp;{{search.accident.organ.id}}&nbsp;» 
    à l'étape «&nbsp;{{search.accident.stage.id}}&nbsp;» 
</h2> 

비 작업 조각을 다음과 같이

<h2> 
    «&nbsp;{{search.accident.symptom.displayName}}&nbsp;» 
    observé(es) sur «&nbsp;{{search.accident.organ.displayName}}&nbsp;» 
    à l'étape «&nbsp;{{search.accident.stage.displayName}}&nbsp;» 
</h2> 

[편집] 여기

가 선택 코드 :

<form> 
    <table> 
     <tbody> 
      <tr> 
       <td style="width: 40%"> 
        Stade<br> 
        de la plante<br> 
        <select 
         ng-options="s.id as s.displayName for s in stages" 
         ng-model="search.accident.stage.id"> 
        </select> 
       </td> 
       <td style="width: 20%"> 
        Organe<br> 
        concerné<br> 
        <select 
         ng-options="o.id as o.displayName for o in organs | filter:accidentsSearch(search.accident.stage, null, null, accidentsDiagnosticsMenu)" 
         ng-model="search.accident.organ.id"> 
        </select> 
       </td> 
       <td> 
        Symptôme<br> 
        observé<br> 
        <select 
         ng-options="s.id as s.displayName for s in symptoms | filter:accidentsSearch(search.accident.stage, search.accident.organ, null, accidentsDiagnosticsMenu)" 
         ng-model="search.accident.symptom.id"> 
        </select> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</form> 
+0

실제로 xxx.id를 범위 변수에 바인딩하는 경우 xxx.name을 업데이트해야하는 이유는 없습니다. 아마 xxx 항목을 바인딩해야합니다. 몇 가지 코드를 공유하여 해결책을 제안 할 수 있도록하십시오. – Sycomor

+0

@PSL 관련 FORM SELECT 태그에서 사용자가 다른 값을 선택하면 두 번째 스 니펫이 업데이트되지 않습니다. 선택 코드를 추가했습니다. –

+0

@Sycomor 두 명의 회원을 모델링 할 수 있습니까? –

답변

0
<select ng-options="s.id as s.displayName for s in stages" 
        ng-model="search.accident.stage.id"> 
</select> 

위의 의미 : 스테이지의 displayName을 표시하는 선택 상자를 표시합니다. 선택을 할 때마다 search.accident.stage.id 필드를 선택한 스테이지의 id으로 업데이트하십시오.

그래서 선택이 변경 될 때마다 search.accident.stage는 ID를 제외하고 수정되지 않은 상태로 유지됩니다. 원하는 것은

<select ng-options="s as s.displayName for s in stages" 
        ng-model="search.accident.stage"> 
</select> 

입니다. 즉, 스테이지의 displayName을 표시하는 선택 상자를 표시합니다. 선택을 할 때마다 search.accident.stage 필드를 선택된 스테이지로 업데이트하십시오.

+0

와우, 너 내 하루 만들었 어! :-) @JB Nizet –

+0

이 셀렉터와 관련된 문제가 하나 더 있는데, 이제 막 새 질문을 만들었습니다. 응답에 관심이있을 수 있습니다. http://stackoverflow.com/questions/26194502/angularjs-whats- 가장 좋은 방법으로 3 기준 선택 선택 - 기준 제공 noredirect = 1 # comment41074398_26194502 –

0

보기 코드를 제공해 주셔서 감사합니다. select 절은 ng-options 생략 경우 s.displayName과 함께합니다 (S가 선택되고한다는되도록,

<select 
    ng-options="s.displayName for s in stages" 
    ng-model="search.accident.stage"> 
</select> 

객체 자체 (당신의 s)에 바인딩 기본값 : 그냥 같은 당신의 선택을 변경 선택 라벨)은 귀하의 search.accident.stage에 저장됩니다. 그런 다음 필드를 표시 할 때마다 필드를 검색하면됩니다.

관련 문제