게시판 수정 기능 채택완료

안녕하세요 신입 개발자입니다ㅠ
제가 복잡한 난관에 봉착해서 염치불구하고 물어보게되었습니다ㅠ
데이터가 쌓이는 게시판인데 순서를 알려드리자면,  

 

1. .table_input_radio의 checkbox를 체크! 

2. #data_end의 input 에 날짜 기입. 

3. end_data button 누르면  #answer_aq 내용이 #data_end input 의 값으로 변경됨. 
(1. 에서의 check가 없을 경우 'alert 경고창' 노출 / 2. 에서의 input 안에 값이 없을 경우에도 'alert 경고창' 노출)
 

Copy
<div>

    <div class="end_data">

        <input type="text" id="data_end" name="data_single" value="" />

        <button type="button" id="select_service_end">변경</button>

    </div>

 

 

    <table>

        <tbody>

 

            <tr class="tabletr">

                <td class="table_input_radio">

                    <label><input type="checkbox" name="service_select_input" id="end_input"

                            onclick="oneCheck(this)"><em></em></label></td>

                <td>05</td>

                <td class="answer_aq">2022.03.25</td>

            </tr>

 

            <tr class="tabletr">

                <td class="table_input_radio">

                    <label><input type="checkbox" name="service_select_input" id="end_input"

                            onclick="oneCheck(this)"><em></em></label></td>

                <td>04</td>

                <td class="answer_aq">2022.03.25</td>

            </tr>

 

        </tbody>

    </table>

 

    <script>

       

        //저는 아래처럼 했으나 잘 안되네여ㅠㅠ

 

        $('#select_service_end').click(function () {

 

            var checkbox = $("input[name=service_select_input]:checked");

            var answerEnd;

            var endData = $("input[name=data_single]").val();

            // input의 value 값 가져오기

 

            if ()

 

                // 체크된 체크박스 값을 가져온다

                checkbox.each(function (i) {

 

                    // checkbox.parent() : checkbox의 부모는 <td>이다.

                    // checkbox.parent().parent() : <td>의 부모이므로 <tr>이다.

                    var tr = checkbox.parent().parent().eq(i);

                    var td = tr.children();

 

                });

 

            answerEnd = tr.find('td:eq(6)').val(endData);

 

        });

    </script>

</div>
 

 

답변 1개

채택된 답변
+20 포인트

Copy
<div>
    <div class="end_data">
        <input type="text" id="data_end" name="data_single" value="" />
        <button type="button" id="select_service_end">변경</button>
    </div> 
 
    <table>
        <tbody> 
            <tr class="tabletr">
                <td class="table_input_radio">
                    <label><input type="checkbox" name="service_select_input[]" class="end_input"></label></td>
                <td>05</td>
                <td class="answer_aq">2022.03.25</td>
            </tr>
 
            <tr class="tabletr">
                <td class="table_input_radio">
                    <label><input type="checkbox" name="service_select_input[]" class="end_input"><em></em></label></td>
                <td>04</td>
                <td class="answer_aq">2022.03.25</td>
            </tr>
 
        </tbody>
    </table> 

</div>

<script>

$('#select_service_end').click(function () { 
  
  if($('#data_end').val() == '') {
    alert('입력하세요'); 
    return false;
  }

   if($('.end_input').is(":checked")){
     var _this = $('.end_input:checked').parents('td').siblings('.answer_aq'); 
     _this.html($('#data_end').val());
   } else {
     alert('선택하세요');
     return false;
   }
 
});

</script>

더 좋은 방법도 있겠지만 금방 생각나는 방법은 이정도 일것 같네요.

(ID는 하나만 사용해야 합니다. end_input 을 class로 변경하였습니다)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

[code]
$('#select_service_end').click(function () { //변경 버튼 클릭
if ($('.end_input').is(":checked")) { //체크되어있으면
var DDate = $('.end_input:checked').parents().children().eq(9); //.answer_aq 로 접근
DDate.html($('#data_end').val()); //날짜 값으로 만료일 변경
} else {
alert('서비스를 선택해주세요.'); // 팝업
return false;
}

});
[/code]

이런식으로 수정하여 구현완료되었습니다!! 정말 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고