테이블의 td범위를 누르면 td의 내용이 input text박스로 들어가고 버튼이 하나 나오도록 만들었거든.
그 상태에서 다른 td를 선택되어있던 td의 내용은 원상태로 돌아가게 만들었어.
만약 버튼을 클릭하게되면 바뀐 내용으로 ajax싸바싸바해서 정상처리되면 바뀐내용으로 td의 내용이 바뀌도록 만들었으..
아 그런데...인풋박스를 클릭하면 다시 td의 원내용으로 계속 초기화 되버리는거야. 다른 범위를 눌러도 계속 인풋박스가 원 내용으로 계속 초기화 되길래 td를 none_selected라는 클래스 이름으로 묶고 클릭되면 none_selected는 지워지고 selected로 바뀌도록 만들었거든.
그런데 그 증상이 똑같아 ㅠㅜ selected로 바뀌면 클릭해도 아무런 액션이 없어야할것같은데 액션이 발동되어서 인풋박스가 초기화되버려 ㅠㅜ
이거 왜그런거야?

내가 JQuery는 재대로배운게아니라 주먹구구식으로 휙휙배우면서 넘어가다가 한번 써먹어보려고 하는거라서 코드가 바보같을수도 있으니 이해해 주세요 ㅠㅜ




var origin_name; //원 내용을 저장해 놓기위한 변수

$(".none_selected").click(function() {
        //selected 클래스가 있으면 td를 원 내용으로 고치고 클래스를 none_selected로 고친다.
        $('.selected').text(origin_name);
        $('.selected').addClass('none_selected');
        $('.selected').removeClass('selected');
        
        //현재 td의 내용을 origin_name에 대입하고 selected클래스로 고쳐준다.
        origin_name = $(this).text();
        $(this).addClass('selected');
        $(this).removeClass('none_selected');

        //현재 td의 내용은 인풋박스와 버튼으로 바꾸고 인풋박스에 원래있던 내용을 집어 넣는다.
        $(this).html("<input type='text' value=''><input type='button' value='변경' id='band_editer_button'
                 style='padding:2px 10px; text-align:center;margin-left:20px;'>").find("input[type='text']").attr('value', origin_name);

        //버튼이 클릭되었을시 처리를 해서 변경이 성공하면 바뀐내용으로, 
        //실패하면 원내용으로 td의 내용을 변환후 클래스를 none_selected로 고친다.
        $(function() {
                $("#band_editer_button").click(function() {
                        var new_name = $('.selected').find("input[type='text']").attr('value');
                        $.post("/ajex_engine/band_editer.php", {new_name: $('.selected').find("input[type='text']").attr('value'),
                                 target_id: $('.selected').parent().find('th').text()},
                                function(data) {
                                        if(data = 0) {
                                                alert("변경을 실패하였습니다.");
                                                $('.selected').text(origin_name);
                                        } else {
                                                $('.selected').text(new_name);
                                        }
                                        $('.selected').addClass('none_selected');
                                        $('.selected').removeClass('selected');
                                }
                        );
                });
        });        
});