♣ Tech & Biz Salon/Tech

Get children in javascript, jquery / Loop Checkd Checkbox

TasteGod 2013. 5. 2. 14:40

바빠서 이럴 시간이 없긴 한데... 이건 좀 해두는게 좋을거 같아서 잠시 짬을 냄.

어제 노동절인데 정상근무 + 새벽 퇴근  훔....


요새 뷰단 작업을 많이 하는게 그리 내성향은 아닌거 같고, 많이 해보지도 않았는데 요새 어쩌다보니 좀 하고 있습니다.

어찌보면 재밌기도 한데... 귀차니즘 관점에서 볼땐... 별로지요. 어쨌든 피할수 없으니 즐기면서 하고 있구요.

Miplatform 같이 각이 잡힌 뷰단은 표준만 잡으면 특별할 것이 없고, 그런 개발쪽은 별도 인원이 그런거 담당해서 신경쓸게 없는데요.

Html 뷰단은 좀 까다롭죠.  퍼블리셔가 있어도 개발자가 해야될 몫이 UI 에 따라 많기도 하구요.... 퍼블리셔 역량 등에 따라 작업 범위가 적은 경우엔 그만큼 개발자가 더 많이 알아야 할 거 같구요...


자식 개체 접근하는거 어제 알아낸거와 그전에 썼던거 몇가지 적어봅니다.


● 부모로 올라간 다음, 아래의 개체를 class로 찾기

var seq = $(obj).parent().children('.seq').val();


 부모의 몇번째 자식을 찾기 

요거 찾는다고 힘들었습니다. 구글링에서 몇번째를 영어로 뭐야 할지 몰라서 

짱구를 굴려 second 로 하니 나오네요. first last 같은것은 jqeury 함수도 있는거 같구요. 제가 필요한게 아니라 자세히 안봤습니다.

테이블 (정확히 하지면 kendo ui 의 grid) 의 체크박스 여러개중 체크되어 있는 라인의 다른 값을 파악하는 것을 어제 해보았습니다.

체크된 체크박스 수만큼만 루핑 돌리면서 개체에 접근하면 더 좋을텐데... 어제 찾아볼땐 그런게 안보이길래 실망을 하고는 그냥 아래처럼 했습니다. 있을거 같아서 찾다고 없으면... 찾는 시간이 아까워짐...


* SCRIPT

$(".phtAlbm_grid_ckbx", "#gridBx_phtAlbm").each(function(idx) {

if (this.checked)

{

albm_nm = $(this).parent().parent().children().eq(1).text();

// 사진수

phtoCnt = $(this).parent().parent().children().eq(2).text();

// 등록자번호

regUsr = $(this).parent().parent().children().eq(3).text();


if (phtoCnt > 0 ) {

console.log("chkCnt albm_nm:" + albm_nm );

chkPhto = chkPhto + 1;

return false;  //break

}

if( regUsr != $session.usr_key )

{

console.log("chkUser albm_nm:" + albm_nm );

chkUser = chkUser + 1;

// break

return false;

}

if( $(this).val() > 0)

del_seq_list += $(this).val()+",";

}

});

if( chkPhto > 0 )
{
alert("사진이 있는 앨범은 삭제할 수 없습니다.");
return;
}
if( chkUser > 0 )
{
alert("본인소유의 앨범만 삭제가능합니다.");
return;
}

참고 : http://stackoverflow.com/questions/4727263/jquery-get-second-child


위의 jquery each loop statement 의 break, continue는 return false, return true 적어야 합니다.

체크 결과를 return false 식으로 썼는데 훔... 이거땜에도 어제 꽤 헤맸다는;;

jquery 책 한 번 훑어서 기본 요령 좀 익히고 하면 덜 헤멜텐데, 필요한 부분 조금씩 서핑으로 찾아서 하다보니...


* 이용한 부분 HTML 

<div class="k-grid-content">

  <table class="k-selectable" cellspacing="0" role="grid" data-role="selectable">

    <colgroup>

      <tbody>

        <tr role="row" data-uid="b6720831-ebd6-48a8-a658-8011252a169a">

          <td role="gridcell" style="text-align:center;">

            <input class="phtAlbm_grid_ckbx" type="checkbox" onclick="phtAlbmList_ckbx.onClick_ck(event);" value="47" name="phtAlbm_grid_ckbx">

          </td>

            <td role="gridcell">

              <a onclick="phtAlbmList.onShow("47"); return false;" href="">정력강화 달밤체조 5000 자세 앨범</a>

            </td>

            <td role="gridcell" style="text-align:center;">0</td>

            <td role="gridcell" style="text-align:center;display:none;">1</td>