장소 컬렉션 편집기에서 Scripaculous를 사용하여 연락처에 동적으로 할당 할 고객 목록을 사용자에게 제시합니다. 나는 documentation에 설명 된 값 매개 변수를 전달하므로 select가 생성되면 현재 연관된 고객이 자동으로 선택됩니다 (아직 기본값이 제공되지 않은 경우).Ajax.InPlaceCollectionEditor를 사용하여 자동 선택 값 옵션을 동적으로 업데이트합니다.
이것은 사용자 가장 최근에 선택된 고객이 아닌 원래 값이 다시 선택 될 때 '편집'필드를 클릭합니다. InPlaceCollectionEditor에 대한 원래 호출이 변경되지 않았기 때문입니다. 내 질문은 모든 scriptaculous 호출을 동적으로 업데이트하지 않고 자동 선택 값을 업데이트 할 수있는 방법이 있는지 여부입니다 (이것은 가능하지만 이상적인 것은 아니지만 가능한 모든 ajax를 통해 모든 고객을 선택한다는 의미입니다).
코드는
입니다.<div id="editme">Test 1</div>
<script type="text/javascript">
new Ajax.InPlaceCollectionEditor(
'editme',
'/usercustomer/editCustomer/id/811',
{ collection: [['192981', "Test 1"],['192893', "Test 2"],['192894', "Test 3"] ... ],
ajaxOptions: {method: 'get'}
, value: 192893 } // specifying the value parameter auto selects object id 192893
);
</script>
이 제한은 InPlaceCollectionEditor입니까? 아니면이 문제를 해결하는 다른 방법이 있습니까?
Ajax.InPlaceCollectionEditor 호출이 div id "editme"를 업데이트하는 중입니다. 위 코드에서 보았던 ajax.InPlaceCollectionEditor 호출의 매개 변수가 div 외부에 있습니다. 내가 말했듯이 "내 질문은 전체 스크립트 호출을 동적으로 업데이트하지 않고 자동 선택 값을 업데이트 할 수있는 방법이 있는지 여부" – markb
언제 자동 선택 값을 업데이트하겠습니까? 앞에서 말했듯이, 하드 코딩 된 값 대신 (가능하면 전역 변수) 변수를 사용하면 Ajax 호출을하기 전에 언제든지 설정할 수 있습니다. 선택한 옵션 만 설정하려는 경우 select 요소에 액세스하고 selectedIndex 속성을 설정해야합니다. –