코딩연습하즈아
2019-06-07 23:20:08 작성 2019-06-07 23:22:27 수정됨
5
547

자바스크립트 동적으로 값가져오는 방법 좀 알려주세요


각각의 클릭을 눌렀을 때 사진에 있는거 처럼 좋아요, 댓글 하나 더 적어보기  등 각각에 텍스트에어리어 의 번호를 length로 알럿을 띄운다음 readyonly를 풀고 하고싶은데 다른 클릭 버튼을 눌러도 첫번째 좋네요만 먹혀서 문제인데 어떻게 해결할 수 있나요?


$(document).ready(function(){
		 $('body','html').on('click','.reply_modify_save',function(){
			 alert($('#content').length);
			 $('#content').attr("readonly",false);
			 $("#content").focus();
		 });
	 });

 <c:forEach var="freeboard_comment_list" items="${freeboard_comment}">
		   <c:if test="${freeboard_comment_list.comment_date != null}">
			    <div class="comment_list">
			    	<button class="reply_modify_save">[수정]</button>
					<label class="writer">${freeboard_comment_list.comment_writer}</label>
					<label class="date">${freeboard_comment_list.comment_date}</label>
					<label class="content"><textarea rows='3' cols='110' name='comment_content' id="content" readonly>${freeboard_comment_list.comment_content}</textarea></label>
				 </div>	<br> 
			</c:if>
		</c:forEach>


0
  • 답변 5

  • 푸르게
    679
    2019-06-07 23:48:23

    content 라는 id는 문서내에서 한개만 허용됩니다.

    forEach로 여러개의 content id를 만들어도 첫번째 것만 선택됩니다.

    각각 다르게 지정하세요.

  • 코딩연습하즈아
    2019-06-07 23:52:12
    content의 아이디를 각각 여러게 만들라는건가요?
  • 사는게힘듭니다
    2019-06-08 01:37:40

    태그속성을 id로하지말고 name로 지칭하세요

  • rezigrene
    2k
    2019-06-08 14:07:28 작성 2019-06-08 14:07:49 수정됨
    먹힐지모르겠으나

    $(this).closest('.comment_list').find('#content').attr..........

    되도록이면 # content 같은 id보다는
    .reply_content 라는 클래스를 부여하여 제어하시는게 좋습니다.
  • 초보개발자!
    1k
    2019-06-09 20:37:30

    id="content_${인덱스}" 로 지정을해주고 

    스크립트에서 onclick 함수 function안에 파라미터값으로 인덱스값받아서

    $("#content_"+i).focus() 이런식으로 처리하면될거같내

  • 로그인을 하시면 답변을 등록할 수 있습니다.