2012-10-04 3 views
0

나는 사용자가 자신의 번들을 만들 수있는이 웹 사이트에서 일하고 있습니다. 기본적으로 그들은 코스 목록을 가지고 있으며, 5 개를 골라 묶음을 만들 수 있습니다.jQuery, 복제 선택 이전에 선택한 옵션을 비활성화하십시오

내가 취하는 접근법은 모든 코스의 드롭 다운 목록으로 클릭하면 복제됩니다.

내가하고 싶은 것은 다음에 복제 된 목록에서 이전에 선택한 항목을 비활성화하는 것입니다.

이것이 가능합니까? http://jsfiddle.net/Y4fLM/

고마워 :

여기 내 코드입니다!

답변

1

을 당신에게 도움이 될 수 있습니다.

+0

안녕하세요. PRP. 미안 내가 게시 한 것과 어떤 차이점을 볼 수 없습니까? : S – elmediano

+0

Opps는 내 스크립트로 jsfiddle를 업데이트하는 것을 잊어 버렸습니다 .. 그래서 당신이 게시 한 것과 똑같은 것을 보았습니다. 내 나쁜 .. 지금 나는 링크를 업데이트했습니다 .. 그래서 당신은 변화를 볼 수 있어야합니다 .. – PRP

+0

그건 좋은 접근 방식과 나는 그것을 위해 갈거야 :) 감사합니다 백만! 복제 된 항목을 제거 할 때 발생하는 작은 문제를 해결해야했습니다. 이전 드롭 다운이 여전히 비활성화되었습니다. 여기에 일하는 바이올린이 있습니다. http://jsfiddle.net/kEKFX/ – elmediano

2

나는 당신과 비슷한 요구 사항을 수행해야했지만, 동적으로 선택 항목을 만드는 대신 페이지에 3 개가 있습니다.

이 부분을 확인하십시오. FIDDLE .. 도움이 될 것입니다.

+1

와우이 코드는 매우 훌륭한 코드입니다. 나는 내 코드에 맞춰서 다른 답변을 나눌 생각이다 :) 백만 분께 고마워, 앞으로 올 일을 위해 이것을 지키겠다.) – elmediano

+1

@elmediano .. 물론 문제는 아니다 :) –

+0

그러나 다른 피들 나는 모든 선택이 이루어진 후에 그것을 본다. 네 번째 선택으로 돌아 가면, 여전히 선택 옵션을 볼 수있다. 만약 내가 틀렸다면 –

1

이게 당신이 찾고 있는게 있나요?
http://jsfiddle.net/VLrpn/

키 코드 온다 바로 새로운 요소를 부착하기 전에 : 당신은 그것을이 될 수 있습니다 것뿐만 아니라이 하나의 질문과 마찬가지로

http://jsfiddle.net/Y4fLM/3/

을 시도 할 수 있습니다

$('.hidden-itemname').each(function(index) { 
     newElem.children('.hidden-itemname').children('option[value="'+$(this).val()+'"]').remove() 
    }); 
+0

.attr ('disabled ','장애인 '). 이렇게하면 사용할 수없는 항목이 기본적으로 선택되지 않도록 선택한 첫 번째 옵션 (선택하십시오)을 선택해야합니다. – user1026361

+1

Brilliant! 고마워. 그것에 대해 생각해 보니 .remove()가 더 합리적이라고 생각합니다. 사용 중지하면 사용자를 혼란스럽게 할 수 있지만 항목이 없으면 해당 옵션 만 사용할 수 있습니다. 감사! – elmediano

+0

Susanth는 아래에 좋은 지적을 만들었습니다. "그러나 다른 피들에서 나는 모든 선택이 이루어진 후에 그것을 봅니다. 만약 네가 4 번째 선택으로 돌아 가면, 여전히 선택 옵션을 볼 수 있습니다. 만약 내가 잘못하면" . 이전 선택으로 돌아가서 중복으로 끝낼 수 있습니다. 이전의 모든 선택을 비활성화했을 수도 있지만 사용자는 자신의 마음을 바꾸기 위해 요소를 제거해야합니다! 아! 혼동!: P – elmediano