2010-01-21 2 views
1

장소 컬렉션 편집기에서 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입니까? 아니면이 문제를 해결하는 다른 방법이 있습니까?

답변

0

하드 코딩 된 숫자 대신 변수를 '값'으로 전달하십시오. 전화를 걸기 바로 전에 해당 변수를 초기 값 또는 선택한 값으로 설정하십시오.

+0

Ajax.InPlaceCollectionEditor 호출이 div id "editme"를 업데이트하는 중입니다. 위 코드에서 보았던 ajax.InPlaceCollectionEditor 호출의 매개 변수가 div 외부에 있습니다. 내가 말했듯이 "내 질문은 전체 스크립트 호출을 동적으로 업데이트하지 않고 자동 선택 값을 업데이트 할 수있는 방법이 있는지 여부" – markb

+0

언제 자동 선택 값을 업데이트하겠습니까? 앞에서 말했듯이, 하드 코딩 된 값 대신 (가능하면 전역 변수) 변수를 사용하면 Ajax 호출을하기 전에 언제든지 설정할 수 있습니다. 선택한 옵션 만 설정하려는 경우 select 요소에 액세스하고 selectedIndex 속성을 설정해야합니다. –

관련 문제