자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


년월일선택 만들어주는 스크립트

 
<script language="javascript">
//날짜선택 옵션..

function write_seled(f,obj1,obj2,obj3,sy,ey,ed1,ed2,ed3,str){
        if(str != "") str = "<option>"+str+"</option>";
        opt_code =                           "<select class="in_select" name="+obj1+" onchange=chg_opt('"+f+"','"+obj1+"','"+obj2+"','"+obj3+"');>"+str+"</select>년 ";
        opt_code = opt_code + "<select class="in_select" name="+obj2+" onchange=chg_opt('"+f+"','"+obj1+"','"+obj2+"','"+obj3+"');>"+str+"</select>월 ";
        opt_code = opt_code + "<select class="in_select" name="+obj3+" onchange=chg_opt('"+f+"','"+obj1+"','"+obj2+"','"+obj3+"');>"+str+"</option></select>일 ";
        document.write (opt_code);
        add_opt(f,obj1,obj2,obj3,sy,ey,ed1,ed2,ed3)
}

function add_opt(f,obj1,obj2,obj3,sy,ey,ed1,ed2,ed3){
        obj1_size = eval(f+"."+obj1+".length");
        obj2_size = eval(f+"."+obj2+".length");
        obj3_size = eval(f+"."+obj3+".length");
        
        var i = 0;
        var j = 0;
        var opt;
        for(j=sy; j <= ey; j++){
                if(j<10) j = "0"+j;
                opt = new Option(j,j);
                eval(f+"."+obj1+".options[obj1_size] = opt");
                obj1_size++;
        }
        for(i=1; i <= 12; i++){
                if(i<10) i = "0" + i;
                opt = new Option(i,i);
                eval(f+"."+obj2+".options[obj2_size] = opt");
                obj2_size++;
        }
        for(i=1; i <= 31; i++){
                if(i<10) i = "0" + i;
                opt = new Option(i,i);
                eval(f+"."+obj3+".options[obj3_size] = opt");
                obj3_size++;
        }

        //초기선택부분 수정 2003-05-07
        eval(f+"."+obj1+".value = '" + ed1 + "'");
        eval(f+"."+obj2+".value = '" + ed2 + "'");
        eval(f+"."+obj3+".value = '" + ed3 + "'");

}

//년월선택시 일자옵션바꾸기..
function chg_opt(f,obj1,obj2,obj3,sy,ey){

        var flday, dsize, i, opt;
        var yvalue = eval(f+"."+obj1+".value");
        var mvalue = eval(f+"."+obj2+".value");
        var dvalue = eval(f+"."+obj3+".value");
        
        if(mvalue=="02"){
                dsize = eval(f+"."+obj3+".length") -1;
                fdday = parseInt(eval(f+"."+obj3+".options["+dsize+"].value"));
                
                if ((yvalue % 4 == 0 && yvalue % 100 != 0) || yvalue % 400 == 0) flday = 29;
                else flday = 28;

                if(fdday > flday){
                        for(i=fdday; i > flday; i--){
                                eval(f+"."+obj3+".options[dsize] = null");
                                dsize--;
                        }
                        if(dvalue > flday) eval(f+"."+obj3+".value = '"+flday+"'");
                }
                if(fdday < flday){
                        for(i=fdday; i <= flday; i++){
                                opt = new Option(i,i);
                                eval(f+"."+obj3+".options[dsize] = opt");
                                dsize++;
                        }
                }

        }else if(mvalue=="04" || mvalue=="06" || mvalue=="09"|| mvalue=="11"){
                dsize = eval(f+"."+obj3+".length") -1;
                fdday = parseInt(eval(f+"."+obj3+".options["+dsize+"].value"));
                if(fdday > 30){
                        eval(f+"."+obj3+".options[dsize] = null");
                        if(dvalue == "31") eval(f+"."+obj3+".value = '30'");
                }
                if(fdday < 30){
                        for(i=fdday; i <= 30; i++){
                                opt = new Option(i,i);
                                eval(f+"."+obj3+".options[dsize] = opt");
                                dsize++;
                        }
                }
                
        }else{
                dsize = eval(f+"."+obj3+".length") -1;
                fdday = parseInt(eval(f+"."+obj3+".options["+dsize+"].value"));
                if(fdday < 31){
                        for(i=fdday; i <= 31; i++){
                                opt = new Option(i,i);
                                eval(f+"."+obj3+".options[dsize] = opt");
                                dsize++;
                        }
                        eval(f+"."+obj3+".value = "+dvalue);
                }
        }

}
</script>
----------------------------------------------------------------------------<br>
예제))
<form name="frm1">
<script>write_seled("document.frm1","e_syear","e_smonth","e_sday",'2003','2030','2003','05','31','선택');</script>
</form>


minaam
written by minaam (minaam)
2004-05-11 10:35:30
639 번 읽음
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그