제목 | ajax 을 통해 출력한 input 필드에 datapicker 적용이 안되네요 ㅜㅜ | ||
---|---|---|---|
글쓴이 | 정수리 | 작성시각 | 2016/09/09 13:05:24 |
|
|||
ajax를 통해
success:function(data){ . . . output +='<tr>'; output +='<td>변경일</td><td><input type="text" name="ch_date" class="sv_date"/></td>'; output +='</tr>'; $('#hd_'+no+' .test').empty(); $('#hd_'+no+' .test').append(output);
데이터를 출력하고
위에 <input type="text" name="ch_date" class="sv_date"/>
이 부분에 data picker를 적용할려고 하는데;
적용이 안되네요 ㅜㅜ 계속 $(...).datepicker undifined 라는 오류만 뜨네요 ㅜㅜ
$(document).on('click', '.sv_info', function() { $('.sv_date').datepicker({ changeMonth: true, changeYear: true, nextText:'다음 달', prevText:'이전 달', dateFormat:'yy-mm-dd', dayNamesMin:['월', '화', '수', '목', '금', '토', '일'], monthNamesShort:['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], monthNames:['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], gotoCurrent: true }); });
어느쪽을 수정해야 적용할수 있을까요 ㅜㅜ |
|||
다음글 | 라라벨 ... (5) | ||
이전글 | ajax 통해 게시판 데이터 불러오기 전까지 로딩 이미... (1) | ||
뫄뫄잉뿌
/
2016/09/09 13:11:10 /
추천
0
|
정수리
/
2016/09/09 13:14:45 /
추천
0
@뫄뫄잉뿌;; 죄송하지만 다시 한번 호출하라는게 무슨말씀이실까요?; 제가 해본것은;; 페이지가 로딩된 후에 바로 적용되도록해놔서 지식이 딸리다보니 말씀해준것을 이해를 못하네요 ㅜ죄송합니다, |
배강민
/
2016/09/09 13:27:36 /
추천
0
그려내는 부분의 class는 sv_date datepicker에서 액션을 주는 class 대상은 sv_info |
정수리
/
2016/09/09 13:32:58 /
추천
0
@배강민 무슨 말씀이실까요?? 이해가 안되서요;; on('click', 'sv_info' function(){
의 경우 class가 .sv_info인 것을 클릭하면 $('.sv_date').detepiker({
}} class='sv_date' 인곳에 달력을 그려주는것 아닌가요?
제가 잘못이해한건가요? $('.sv_date').datepicker({ }) 이렇게 해줘도 에러가 뜨는데;;
|
kaido
/
2016/09/09 13:37:35 /
추천
0
append 로 엘레멘트를 추가하고 클릭이벤트를 사용하면 바로 적용될거라 생각 되지만, 적용이 안됩니다. 이는 흡사 클릭이벤트를 사용하겠다고 선언 하지 않고 사용하는 거와 같습니다. [왜요? 라고 하신다면 직접 찾아 봐주세요. ]
그래서 append가 끝나고 재 호출을 한번 더 하라는 것입니다.
그리고 배강민님 말씀처럼 select 타겟도 잘못 되셨네요.
|
정수리
/
2016/09/09 13:45:31 /
추천
0
@kaido 예전에도 ajax호출 후에 클릭이벤트가 되지 않아 on메서드사용하여 해결한적은 있습니다. 밑에처럼 준것에서도 select 타켓이 잘못된건가요? $(document).on( 'click' , '.sv_info' , function () { $('.sv_date').datepicker({ changeMonth: true, changeYear: true, nextText: '다음 달' , prevText: '이전 달' , dateFormat: 'yy-mm-dd' , dayNamesMin:[ '월' , '화' , '수' , '목' , '금' , '토' , '일' ], monthNamesShort:[ '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' ], monthNames:[
|
정수리
/
2016/09/09 14:13:19 /
추천
0
var t값을 console.log(data[0])를 통해 확인해 보니 <input class="sv_date" type="text" name="ch_date"> 이렇게나오는걸 확인했네요 저기 class값만가져오면 될것 같은데; 가져오는 방법이 있을까요? |
배강민
/
2016/09/09 14:13:57 /
추천
0
sv_info 라는 달력띄우는 버튼이 따로 있는거라면 제 답변은 무시하셔도 되겠고요. DOM을 그려내기전에 이벤트를 먹이는 시간차일 수도 있겠네요. |
정수리
/
2016/09/09 14:23:45 /
추천
0
@배강민 실수였네요,,,뷰페이지에 <script src="<?php echo base_url();?>js/jquery-3.1.0.min.js"></script> 이걸 넣어준다는걸 깜박했네요 ㅜㅜ... 그런데 문제는 처음에 input 박스클릭했을때는 안나오는데 다른데를 클릭하고나서 다시 input box를 클릭하면 그때 나오는데;; 어느곳을 수정해야되죠; |
정수리
/
2016/09/09 14:39:01 /
추천
0
해결하였습니다 datepicker를 함수로 만들어서 호출하니 아주 잘나오네요 답변 달아주신 분들 모두 감사합니다^^
|
ajax append 후
다시 호출한번 해보세요~ 저번에 저도 그일로 아마 뒤에 한번더 호출했던걸로 기억해요