나는 카트 객체 목록을 반복하면서 녹아웃 템플릿을 사용하고 있습니다. 템플릿에서 옵션 텍스트와 옵션 값으로 이름을 사용하는 모든 제품에 대한 드롭 다운을 채 웁니다. 해당 텍스트 영역에 드롭 다운 목록에 바인딩 된 개체의 속성 인 제품 설명을 채워야합니다. 이 작업을 수행하는 방법이 없거나 jQuery를 사용해야합니까? 도움 주셔서 감사합니다. 여기knockoutjs를 사용하여 템플릿의 드롭 다운에서 선택한 항목으로 텍스트 영역 업데이트
<script type="text/html" id="edit-template">
<div class="row edit">
<div class="span3">
<select data-bind=" options: $root.products, optionsText: 'Name', optionsValue: 'Name', value: Name, optionsCaption: 'Select a Product'"></select>
</div>
<div class="span4">
<!-- This is where I'm not sure what I need to do for this text area -->
<textarea class="span4" rows="3" data-bind="value: Description"></textarea>
</div>
<div class="span1">
<button class="btn btn-primary" style="margin-top:20px;" data-bind="click: $root.save">Save</button>
</div>
</div>
</script>
UPDATE 는 fiddle이다. 이 경우 이름으로 업데이트 된 텍스트 상자와 설명이 업데이트 된 텍스트 영역을보고 싶습니다. 그래서 완전히 공개, 내 애플 리케이션은 실제로 장바구니와 아무 상관이 없지만, 독자가 애플 리케이션의 비즈니스 도메인 지식을 이해할 필요가 없도록 장바구니 예제 로이 질문을 단순화하려고했습니다.
업데이트 2이 트릭해야 바이올린
모델을 포함시킬 수 있다면 도움이됩니다. 바이올린을 만들 수 있니? 나는 당신이 그것을 쉽게 성취하려고 노력하고 있다고 생각합니다. – DoctorMick
'$ root'는 약간 이상하게 들립니다. '$ 데이터 '를 기대합니다. 템플릿을 어떻게 사용합니까? 바이올린은 분명 도움이 될 것입니다. – Andreas
물론, 나는 바이올린으로 질문을 업데이트했다. 또한 @Andreas가 지적했듯이'$ root' 사용법은 아마도 suspsect로 보일 것입니다. 그러나 실제 응용 프로그램은 좀 더 복잡하고 뷰 모델을 그대로 처리해야합니다. 나는 이미 그것을 리팩터링하려고 시도했고 그것을 되돌려 놓으라고했다. – Dmase05