url 링크 문자열 반복제거 채택완료
가루눈
7년 전
조회 1,760
제가 어설프게나마 분류의 분류 기능을 구현했는데 링크를 옮겨갈때 마다 cat변수가 계속쌓이네요 한번만 나타나게 할수 없을까요
</p>
<p>$('#selectbox').on('change', function(e) {
console.log($(this).val());
var locat = '&cat=' + $(this).val();
if($(this).val()=='전체'){
location.href = '<?php echo $category_href; ?>';
} else {
location.href = location.search + locat;
// 정규식이용해서 cat의 반복제거
}
});</p>
<p>
![]()
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
parameter 가 없는 경우 추가,
parameter 가 있는 경우 업데이트 하는 사용자 함수를 이용하는 방법입니다.
https://stackoverflow.com/a/6021027" target="_blank">https://stackoverflow.com/a/6021027
ex.
</p>
<p>..</p>
<p> else {</p>
<p> location.href = updateQueryStringParameter(location.href, cat, $(this).val());</p>
<p> }</p>
<p>});</p>
<p> </p>
<p>function updateQueryStringParameter(uri, key, value) {
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
var separator = uri.indexOf('?') !== -1 ? "&" : "?";
if (uri.match(re)) {
return uri.replace(re, '$1' + key + "=" + value + '$2');
}
else {
return uri + separator + key + "=" + value;
}
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
가루눈
7년 전
저 cat변수에 뭘 집어넣어야하나요?
�
트샷
7년 전
실수인 것 같습니다.
변수가 아닌 문자열 'cat' 으로 넣으면 될 것 같습니다.
location.href = updateQueryStringParameter(location.href, 'cat', $(this).val());
변수가 아닌 문자열 'cat' 으로 넣으면 될 것 같습니다.
location.href = updateQueryStringParameter(location.href, 'cat', $(this).val());
�
가루눈
7년 전
감사합니다 해결되었어요 ^^
댓글을 작성하려면 로그인이 필요합니다.
7년 전
// 정규식이용해서 cat의 반복제거
위 주석 아래에 query들을 파싱해서 url을 다시 만들어보는건 어떨까요?
https://code.i-harness.com/ko/q/470ecb
위 링크의 내용을 참고하셔서 url Query를 파싱한 다음 ,
URL을 새로 만드시는건 어떨지요?
위 링크에서 getUrlVars()이 포인트네요^^
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
가루눈
7년 전
url을 새로만든다는게 어떤식으로 만들어야하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인