2011-01-13 4 views
0

jquery의 힘을 ...JQuery 두 선택 항목을 함께 추가하십시오.

두 개의 선택을 함께 추가하려고하는데, 둘 다 같은 유형의 요소 (<option>)를 포함합니다.

하지만 add(..) 방법은 공을 내고있는 것 같지 않습니다.

var matchingRemovedOptions = removedOptions.filter(function() { 
    return this.text.toLowerCase().match(str.toLowerCase()); 
}); 
tempOptions.add(matchingRemovedOptions); 
console.log(tempOptions.length); 
console.log(matchingRemovedOptions.length); 

im은 removedOptions 선택에서 일부 옵션 요소를 필터링하고이를 tempOptions 선택 항목에 추가하려고합니다.

그러나 console.log를 사용할 때 tempOptions의 길이는 in과 같아도 증가하지 않습니다.

답변

4

.add()반환 요소와 세트/선택기를 추가, 실제로 가 켜져라고 설정에 추가되지 않습니다. 원하는 효과를 얻으려면, 당신은 다음과 같이, 그것은 반환 세트로 업데이트해야합니다

tempOptions = tempOptions.add(matchingRemovedOptions); 

당신이에 대한 모든 다른 tree traversal functions을 생각한다면, 그들은 같은 방식으로 작동, 예를 obj.find("...")에 대한에 obj을 변경하지 않습니다 발견 된 것이 있다면 나머지 만 해당 세트에서 작동하며 .find()을 반환합니다.

2

당신은 다른 대입을 수행해야합니다

tempOptions = tempOptions.add(matchingRemovedOptions); 
+0

나는 믿을 수 없다. 내가이 코드를 다시 보았을 때이 메시지를 게시하는 즉시 나에게 떠올랐다. – Mike

+0

항상 방법 :) –

관련 문제