ajax 변환 질문드립니다.

ajax 변환 질문드립니다.

QA

ajax 변환 질문드립니다.

본문


<table id="supply_frm">
<tr><td>
    <select value="<?php echo $wr11[$i]; ?>" name="wr_11[]">
        <option value="" <?php echo get_selected('제품 선택', $wr11[$i]); ?>>제품 선택</option>
        <option value="사과"    codes="APPLE"        <?php echo get_selected('사과',        $wr11[$i]); ?>>사과</option>
        <option value="딸기"    codes="STRAWBERRY"    <?php echo get_selected('딸기',        $wr11[$i]); ?>>딸기</option>
        <option value="바나나"    codes="BANANA"        <?php echo get_selected('바나나',        $wr11[$i]); ?>>바나나</option>
    </select>
</td></tr>
</table>

<div id="add_supply">추가</div>
$("#add_supply").click(function() {
    var $el = $("#supply_frm tr:last");
    var fld = "<tr><td>\n";
    fld += "<select name=\"wr_11[]\" >\n";
    fld += "<option value=\"\">제품 선택</option>\n";
    fld += "<option value=\"사과\"            codes=\"APPLE\"        >사과</option>\n";
    fld += "<option value=\"딸기\"            codes=\"STRAWBERRY\"    >딸기</option>\n";
    fld += "<option value=\"바나나\"            codes=\"BANANA\"    >바나나</option>\n";
    fld += "</select>";
    fld += "</td></tr>";
    $el.append(fld);
};
위의 막코딩을 ajax로 변경을 할려고 합니다.

<tr><td>
    <select value="<?php echo $wr11[$i]; ?>" name="wr_11[]">
        <option value="" <?php echo get_selected('제품 선택', $wr11[$i]); ?>>제품 선택</option>
         <?       $sql = "SELECT it_product_main, it_db_main FROM g5_write_stock_all GROUP BY it_product_main";
              $result = sql_query($sql);
     
              for($j=0; $row=sql_fetch_array($result); $j++) {
         ?>  
         <option value="<?php echo $row['it_product_main']; ?>" codes="<?php echo $row['it_db_main']; ?>" <?php echo $row['it_product_main'] == $wr11[$i] ? " selected='selected' ": ""; ?>><?php echo $row['it_product_main']; ?></option>
         <?  } ?>
    </select>
</td></tr>

이렇게 기본으로 나와있는건 ajax로 받아져오는데
추가 버튼을 누를때마다 
하단에 동일한 tr값을 추가할려면 어떻게 해야 하나요?

$("#add_supply").click(function() {

눌렀을때를 어떻게 변경해야 동일하게 나오는지 감을 못잡겠습니다.

이 질문에 댓글 쓰기 :

답변 1


<script>
var newRow = $("#supply_frm tr:last").eq(0);
$("#add_supply").click(function() {
    var $el = $("#supply_frm tbody:last");
    $el.append(newRow.clone(true));
});
</script>

이런식으로 한번만 tr값을 읽어서 추가하는 방법은 어떨까요

음...
javascript 코드 안에 php 코드를 넣는 방법도 있고(이경우는 디비를 한번만 호출할 수도 있긴 합니다만..)
append할 값을 뿌려주는 페이지를 추가로 구성해서 ajax로 호출하는 방법도 있기는 합니다만
결국 출력시 디비를 2번이상 호출해야 할텐데 굳이 2번 호출할 이유가 있을까 싶네요

답변을 작성하시기 전에 로그인 해주세요.
전체 15,641
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIR SOFT