2011-10-18 6 views
0

목록 상자 1에서 목록 상자 2로 선택된 모든 항목을 추가하려고하는데 정상적으로 작동합니다. 문제는 목록 상자 2의 listitems 항목 값을 JSON에서 가져 오는 ID로 설정하려고한다는 것입니다.JQuery : Listbox에 추가 - 값으로 JSON 데이터 설정

ID가 JSON입니다.하지만 appendTo를 사용할 때 값을 설정하는 방법을 모르겠습니다. 값이 "0"을 설정하면 다음

은, 지금 사용하고 코드입니다 :

$('#ListBox1 option:selected').appendTo('#ListBox2'); 

가 나는 이런 식으로 뭔가 할 생각 :

var numberOfSelectedItems = $('#ListBox1 option:selected').length;  
    for(int i = 0; i < numberOfSelectedItems; i++) 
    { 
     var ID = data.array[i].ID; //This is the ID value from JSON. 

     //TODO: Set the ID as value on each selected item 
    } 

도와주세요 =)

+0

$ ('# ListBox1 옵션 : 선택됨')을 배열에 저장하고 반복합니다. – sathis

답변

0

.attr() jQuery function을 사용하면 각 항목에 ID를 설정할 수 있습니다 (목록의 다음 ID에 대한 array functions).

뭔가처럼 ... 당신이 두 번째 목록에 추가하기 전에 각의 ID 속성을 설정할 수 있도록

$('#ListBox1 option:selected') 
    .attr('id', data.array.shift()) 
    .appendTo('#ListBox2'); 

JQuery와, 주어진 선택에 체인 함께 연속 작업에 당신을 수 있습니다.

data.array.shift은 배열의 첫 번째 항목 만 제거하고 반환하므로 각 목록 항목에 대해 호출 될 때마다 처리중인 목록 항목에 할당 된 다음 ID가 반환됩니다.

물론 data.array을 사용해야하는 경우 먼저 복사해야 할 수 있습니다.

+0

감사합니다. shift-method가 작동 할 것이라고 확신하지만 배열이 객체 일 때 shift 메서드를 사용하려면 어떻게해야합니까? 내 응용 프로그램에서는 개체 및 ID가 특성 인 경우 데이터가 배열입니다. 시도했지만 작동하지 않았습니다 :'data.array.ID.shift()' – bale3

+0

그냥'data.array.shift(). ID'입니다. – tomtheguvnor

관련 문제