Jquery UI를 사용하여 탭을 표시하고 있습니다. 탭 중 하나에서 대화 상자가 있습니다. 해당 탭으로 이동하여 대화 상자를 열고 닫은 다음 탭에서 다시 탐색하여 대화 상자를 열면 DOM에 여러 HTML 요소가 중복됩니다. 즉 Jquery 대화 상자 - DOM에 여러 번 추가 된 대화 상자 필드
은 ...나는 탭 내 주요 페이지 설정을 가지고 :
<div id="dgEvent">
<input id="someId">
</div>
...
$("#dgEvent").dialog();
나는했습니다 :
는<div id="groupTabs" style="width:600px; height:600px; display:none">
<ul>
<li><a href="tab1.aspx"><span>Info</span></a></li>
<li><a href="tab2.aspx"><span>Associations</span></a></li>
</ul>
</div>
탭 # 2는 대화 상자가 들어 대화 상자를 열면 다른 탭으로 이동 한 다음 다시 돌아와서 다음 번에 대화 상자를 열면 DOM에서 "someId"라는 이름의 중복 요소로 끝날 것입니다. 이것은 someID (즉, # someID) .val()에서 값을 가져 오려고하면 대화 상자의 첫 번째 인스턴스에서 값을 가져 오기 때문에 문제가 발생합니다.
대화 상자가 닫힐 때 필드가 제거되었는지 확인하십시오. 또는 다른 탭으로 이동할 때 탭이 제대로 제거되었는지 여부
결국 편집
, 나는 문제가 함께 탭 및 대화 상자의 사용과 관련이있다 생각합니다. 대화 상자 외부에있는 양식의 모든 필드는 탭에서 이동할 때 DOM에서 제거됩니다. 그러나 대화 상자에 있던 내용은 DOM을 탐색 한 후에 DOM에 남아 있습니다. 따라서, 내가 뒤로 돌아갈 때, 나는 중복으로 끝난다. 대신 $("#dgEvent").dialog();
의
한숨을 내쉬면 S.의 대답없는 형태로 문제를 찾으면 슬프다. 나는 10 개의 대화 상자를 집에 가져갈 것이다. – umassthrower