728x90

현재 실행중인 파일에서 일부 값이 변경되어 그 값을 가지고 변경되어야 할 경우가 있다.


PHP 에서 echo $_SERVER['PHP_SELF']; 로 확인해보면 http://domain/path/filename.php 까지를 추출한다.


jQuery 에서 alert($(location).attr('href')); 로 확인해보면 $(location).attr('href'); 는 뒤에 GET 변수까지를 추출한다.


그래서

var pageURL = $(location).attr('href')+"?ym=" + optVal;

$(location).attr('href', pageURL);

로 하면 잘못된 결과가 나온다.

즉 GET 변수까지를 $(location).attr('href') 로 인식하므로 뒤에 또 덧붙여져 ?ym=201611?ym=201612 이런 식이 되어 버린다.


그래서 PHP 를 같이 활용하여

var pageURL = "<?php echo $_SERVER['PHP_SELF'];?>?ym=" + optVal;

$(location).attr('href', pageURL);

로 코드 구현해서 원하는 결과를 얻었다.


$('#selectmonth').on('change',function(){
    if(this.value !== ""){
        var optVal=$(this).find(":selected").val();
        var pageURL = "<?php echo $_SERVER['PHP_SELF'];?>?ym=" + optVal;
        $(location).attr('href', pageURL);
    }
});


참고사항

$(location).attr('host');        // returns host
$(location).attr('hostname');    // returns hostname
$(location).attr('path');        // returns path
$(location).attr('href');        // returns href
$(location).attr('port');        // returns port
$(location).attr('protocol');    // returns protocol


728x90
블로그 이미지

Link2Me

,