2010-12-13 2 views
2

를 선택사용은 ExtJS 내가 다음 코드와 형태가

<select multiple="multiple" id="something" class="boo" name="foo"> 
    <option value="40">AAAAA</option> 
    <option value="39">BBBBB</option> 
    <option value="15">CCCCC</option> 
</select> 

을 현재이 양식이처럼 보이는 바인더 제본의 onChange 기능 :

var updateValues = function(event, target, object){ 
    var selectbox = Ext.get(target.id); 
    var values = []; 
    for(i=0; i<selectbox.dom.options.length; i++){ 
     if (selectbox.dom.options[i].selected) 
      {values.push(selectbox.dom.options[i].value);} 
    } 
    callSomeFunc(values); 
} 

는, 올바른 방법 저를 보여주십시오, ExtJS를 사용하여이 작업을 수행 할 수 있습니다. jQuery의 val()처럼, 선택된 값의 배열을 반환하는 함수가 있어야한다고 생각합니다. 내가 틀렸다면 의견을 적어주세요.

+0

그것은 훨씬 쉽게 될 것입니다. – Mchl

+1

다중 선택을 다루는 네이티브 ExtJS 함수가없는 것 같습니다. Ext 컴포넌트를 사용하면 많은 유스 케이스에 상당한 오버 헤드가 발생합니다. – edgars

답변

0

ComboBox와 같은 기능과 여러 항목을 조합하려면 SuperBoxSelect 사용자 확장을 사용하는 것이 좋습니다. 기본 Look & Feel가 사용자에게 맞지 않는 경우, 포함 된 CSS를 수정하거나 제거하여 쉽게 변경할 수 있습니다.

구성 요소는 선택한 값을 검색하는 훌륭한 방법을 제공합니다. 사용자가 값을 선택하면 구성 요소는 값을 기억하고 내부적으로 저장합니다. 반대로 사용자가 값을 제거하면 구성 요소가 해당 상태를 처리합니다. 원래 기능을 사용한다고 가정하면 양식을 제출할 준비가되면 값을 가져 오는 메소드를 호출하기 만하면됩니다.

여기에 데모 페이지가 있습니다. 이 때문에 사용자 확장 있다는 걱정하지 마세요, 당신의 자바 스크립트에 포함하는 것은 매우 쉽다 : 당신이 실제로 내선 구성 요소 대신 일반 HTML 양식을 사용하는 경우

http://www.technomedia.co.uk/SuperBoxSelect/examplesRemote.html

관련 문제