2013-06-17 3 views
-1

이것을 고려하십시오. fiddle각도로 드롭 다운에서 옵션을 선택한 경우 오브젝트를 변경하는 방법은 무엇입니까?

위에서 볼 수 있듯이 드롭 다운과 제본이있는 간단한 양식입니다. 나는 바이올린에서 두 가지 견해를 언급한다 : 세부 사항과 편집. 상세보기는 모든 것을 일반 텍스트로 표시하고 편집보기는 변경이 발생할 수있는 양식입니다.

내가 달성하려고하는 것은 드롭 다운 값이 변경되면 즉각 User.title 개체를 업데이트하고 싶습니다. 이것을 어떻게 할 수 있습니까?

편집 : 드롭 다운에서 양식을 게시 할 때 어떤 ID를 선택해야하는지 알 필요가 있습니다. 또한 드롭 다운의 선택된 값을 설정하기 위해 ID를 알아야합니다.

+0

User.title.description은 선택한 제목의 이름이됩니까? – Bema

+0

때때로 "title.description", 언젠가 "title.name"을 사용하기 때문에 귀하의 바이올린은 매우 혼란 스럽습니다. "User.title"을 변경하려는 경우 모델은 "User.title.id"입니다. 아마 당신이 실제로 원하는 것을 보여주기 위해 당신의 바이올린을 정리하는 것을 고려해보십시오. –

+0

@Laurent 내 바이올린을 업데이트했습니다. – Martijn

답변

1

ng-model을 사용하면보기를 모델에 바인딩 할 수 있습니다.

ng-options 지시문에서 'as'앞에있는 부분은 ng-model에서 제공되는 'model'ontop을 더 바인딩합니다. 당신이 title.id를 생략 할 경우 전체 객체는 '추가 모델'{id: .., name: ..}

http://jsfiddle.net/rLjC5/1/

PS 될 것입니다 : 당신이 겨 모델없이 NG-옵션을 사용할 수없는 이유입니다.

+0

설명과 바이올린에 감사드립니다. 이것은 내가 원했던 거의 것이지만, 나는 이것을 형태로 사용하고있다. 그리고 내가이 방법으로 그것을 제출할 때, 나는 선택된 제목의 이드를 모른다. 이것이 ng-options에서 ID를 사용하는 이유입니다. 또 다른 이유는 내가 선택한 가치가 없어 졌기 때문입니다. – Martijn

+0

이 방법으로 초기 값을 http://jsfiddle.net/rLjC5/4/에 바인딩 할 수 있습니다. – jamiltz

+0

범주별로 그룹화 할 수도 있습니다. http://jsfiddle.net/rLjC5/5/) – jamiltz

0

선택의 모델을 User.title에 바인딩하는 한 가지 방법이 있습니다.

<select data-ng-model="User.title" data-ng-options="title.name for title in titles" 

여기 http://jsfiddle.net/vR274/1/

+0

답장을 보내 주셔서 감사합니다. jamiltz가 제안한 내용이기도합니다. 이 접근법에서 내가 가진 문제는 1) 어떤 ID가 선택되었는지, 2) 볼 수 있듯이 선택한 값이 사라 졌다는 것입니다. – Martijn

1

당신은 분명히 드롭 다운 메뉴에서 선택한 기본 값을 원하는 바이올린입니다. titles 배열의 값에 따라 User.title 객체를 초기화해야합니다.

확인하십시오. fiddle을 확인하십시오.

+0

감사합니다. 이 양식을 제출할 때 선택한 값의 ID를 어떻게 알 수 있습니까? 당신의 바이올린에서 ID의 값은 1, 2, 3입니다. ID가 12, 13, 14이면 어떻게 될까요? – Martijn

+0

User.title.id는 선택한 ID를 알고 있습니다. 내 피들에서는 첫 번째 콧수염을'{{User.title | json}}', 당신은 모든'User.title' 객체가 업데이트되고있는 것을 볼 수 있습니다. 편집 :이 업데이트 된 피들보기 : http://jsfiddle.net/ADukg/3106/ – pdegand59

+0

감사. 네가하고 있었던 일을 충분히 가까이서 보지 못했다. 미안하다. – Martijn

관련 문제