2013-02-16 4 views
0

내 문제 : 다른 텍스트 입력을 추가하면 표시/숨길 수 없습니다.표시/숨기기를 사용할 수 없습니다

<html> 
<head> 

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js"></script> 
<script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script> 
<script> 

$(document).ready(function(){ 

     $(".slidingDiv").hide(); 
     $(".show_hide").show(); 

     $('.show_hide').click(function(){ 
     $(".slidingDiv").slideToggle(); 
     }); 

     $(".slidingDiv1").hide(); 
     $(".show_hide1").show(); 

     $('.show_hide1').click(function(){ 
     $(".slidingDiv1").slideToggle(); 
     }); 

}); 

var counter = 1; 
var limit = 3; 
function addInput(divName){ 

mainCanvasDiv = document.createElement("div"); 
mainCanvasDiv.className = "slidingDiv1"; 
mainCanvasDiv.style.display = "none"; 

var newdiv = document.createElement('div'); 
newdiv.id = "dynamicInput" + counter; 
      newdiv.innerHTML = "<a href='#' class='show_hide1'>Show/hide</a>"; 
      mainCanvasDiv.innerHTML = "Entry " + (counter + 1) + " <br><input type='text' name='dynamicInput" + counter +"1'><br><input type='text' name='dynamicInput" + counter +"2'>"; 
      document.getElementById(divName).appendChild(newdiv).appendChild(mainCanvasDiv); 
      counter++; 

} 
$(document).ready(function(){ 
    $('#sortable').sortable({ 
     update: function(event, ui) { 
var newOrder = $(this).sortable('toArray').toString(); 
      document.getElementById('sort').value = newOrder; 
     } 
    }); 
}); 


</script> 
</head> 
<body> 

<form action="lost.php" method="POST"> 
<div id="sortable"> 
<div id="dynamicInput"> 
<a href="#" class="show_hide">Show/hide</a> 
<div class="slidingDiv"> 
<input type="text" name="myInputs[]"> 

</div> 
</div> 
</div> 
<input type="button" value="Add another text input" onClick="addInput('sortable');"><br /> 
<input type="hidden" name="sort" id="sort" value=""> 
<input type=submit value="GO!"> 
</form> 
</body> 
</html> 

어떤 조언이 필요합니까?

업데이트 : $을 변경 한
('. show_hide1')을 클릭 (함수() { 에 $ ('show_hide1. ") ("클릭 "에,"DIV a.show_hide1 ".. 어쩌면 기능() {

내가 뭔가 잘못하고있는 중이 야, 내가 JS 강한 아니다 고정

+1

는 [jsfiddle] (http://jsfiddle.net/) 대신에 설정하십시오. 함께 일하기가 훨씬 쉽다. –

+0

@JohnConde 여기 : http://jsfiddle.net/aWhJQ/ "대신"이라고 말하지 마세요. 코드가 게시물에 있어야합니다. –

+0

jQuery 1.8.3 및 1.9.1을 왜 포함합니까? – j08691

답변

0

는 대한 클릭 이벤트를 교체 :

  $("#sortable").on("click","div a.show_hide", function() { 
       $(".slidingDiv").slideToggle(); 
      }); 

      $("#sortable").on("click","div a.show_hide1", function() { 
       $(".slidingDiv1").slideToggle(); 
      }); 
+0

완료되었지만 이제는 정렬 할 수 없음 – user2079197

+0

sortables이 나를 위해 작동 http://jsfiddle.net/Yhp3c/ –

2

:. http://jsfiddle.net/Yhp3c/

당신은 live도 대상으로 live 대신 click를 사용할 필요가 미래 (읽기 : DOM 스크립팅) 요소.

편집 : 의견에 명시된 바와 같이 live 대신 on을 사용하십시오.

+2

'live'는 더 이상 사용되지 않습니다.'on'을 사용하십시오. – loganfsmyth

+0

게시물에 관련 코드를 추가하십시오. jsfiddle이 (제 고통스럽게 느립니다) 나를 위해로드하지 않습니다. –

+1

'live'가 jquery 1.9에서 제거되었습니다. – Corneliu

관련 문제