2012-08-15 15 views
1

내가 잘못하고있는 것을 알아낼 수 없습니다. 동적으로 생성 된 입력 필드는 class = 'freeze-date'로만 입력되는 첫 번째 datepicker 입력 필드에서만 작동합니다. 나는 http://jsfiddle.net/Someguy2k/L9nvs/3/동적 입력 datepicker - 예상대로 작동하지 않습니다.

감사

+0

François Wahl이 말하기를 : 마크 업은 유효하지 않습니다. 마크 업을 검증하기 위해서는 먼저 여러 가지 서비스가 있어야한다. http://validator.w3.org 내 즐겨 찾기. –

답변

2

하여 주입 마크 업에 몇 가지 문제가 있습니다 @ 코드를 가지고있다. 요소의 각 행에있는 id 속성은 모두 동일한 값을 갖습니다.
유효하지 않은 HTML 일뿐만 아니라 이와 같은 부작용이 발생합니다.

jQuery는 첫 번째 일치 항목을 찾으면 ID를 찾고 중지합니다.
id 속성에 i 값을 추가 값으로 추가하여 캘린더의 특정 문제를 해결했습니다. 당신은 내가 같은 문제를 가진 다른 id 속성을 보았다로 인해 같은 이유로 가능성이 높습니다와 상호 작용할 때 다른 요소가 동일하게 행동하는 찾을 경우

... id='freezeby" + i + "' ... 

DEMO를 참조하십시오. 라이브를 사용

()

또한, 당신은 live()을 사용하고 있습니다. 라이브에는 몇 가지 문제가 있으며 모든 단점은 documentation에 나와 있습니다. Memeory 누수, 예기치 않은 이벤트 바인딩 손실, live() 이벤트 발생 등으로 인해 stopPropagation()이 작동하지 않습니다.

jQuery 1.7 live()은 더 이상 사용되지 않으며 on()이 좋습니다. 귀하의 버전에서는 정적 요소에 이벤트를 바인딩하는 데 bind()을 사용하고 이벤트를 동적 요소에 바인딩하려면 delegate()을 사용하는 것이 좋습니다.

+0

은 효과가 있으며 항상 나를 얻는 간단한 것들입니다 ... 주입 된 마크 업과 관련된 다른 문제는 무엇입니까? 저는 JQ에 경험이 없습니다 - 도움과 평론에 감사드립니다. – nueMind

+0

당신은 환영합니다. HTML과 관련하여 루프에서 생성하는 각 요소에 고유 한 값을 추가했는지 확인하십시오. 다른 위치에서 이미 사용한 것과 같이 'i' 값을 사용했습니다. jQuery와 관련하여 가장 중요한 것은 온라인 문서입니다. 그것은 매우 명확하고 항상 deprecated 기능에 대한 최신 뉴스로 업데이트됩니다. 나는 관련된 모든 문서를 답에 링크시켰다. 즐거웠 어 :) – Nope

관련 문제