2016-06-16 1 views
1

history.pushState을 ajax 검색과 함께 사용하려고하지만 확인란 상태를 저장하지 않습니다. container이 체크 박스와 결과 formAction와 형태입니다.html()에서 확인란 상태를 가져 오는 방법이 있습니까

history.pushState({ FilterSearch: container.html() }, 'search', formAction); 

는 URL입니다 :

내가 pushstate에 양식을 저장하고 방법의 예입니다. 이것은 체크 박스의 onchange (ajax 호출의 결과)라고합니다.

나는 .html이 체크 박스의 업데이트 된 상태를 얻지 못하는 것 같아요. 아래 스 니펫을 참조하십시오.

당신이 확인하고 입력을 선택 취소로 콘솔을 보면

$('#test1').on('change', function() { 
 
\t console.log($('#test').html()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="test"> 
 
    <input type="checkbox" id="test1" value="test"> 
 
</div>

, 당신은 그것이 checked 속성이 추가가 결코 볼 수 있습니다.

푸시 스테이트가 체크 박스의 상태를 기억하게 만들 수 있습니까?

+1

체크 박스 (또는 다른 객체)의 staus는 HTML 코드에없는 DOM 트리에 보관되어 다음과 같이 나는 속성을 설정 한 다음 .html를 호출 할 수 있었다. –

+0

은'$ ('# test')가 아닙니다 .html()'DOM에서 객체를 호출합니까? – Pete

+0

@ Pete 그런 다음 속성을 명시 적으로 적용해야합니다. – Jai

답변

0

감사를 반환 올바른 방향.

$('#test1').on('change', function() { 
 
    if (this.checked) { 
 
     $(this).attr('checked', true); 
 
    } else { 
 
     $(this).removeAttr('checked'); 
 
    } 
 
    console.log($('#test').html()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="test"> 
 
    <input type="checkbox" id="test1" value="test"> 
 
</div>

0

체크 박스가 .is(':checked')를 사용하여 확인되지 않거나 확인할 수 있습니다, 그것은 나를 가리키는 위해 아드레날린 DJ 재이의 의견에 참 또는 거짓

$('#test1').on('change', function() { 
 
\t console.log($('#test1').is(':checked')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="test"> 
 
    <input type="checkbox" id="test1" value="test"> 
 
</div>

+0

이 질문에 답할 수 없습니다. – Jai

+0

불행히도 나는 이것을 푸시 스테이트에 넣기 위해 이것을 사용할 수 없다. 그래서 나는'.html'을 사용할 필요가있다. – Pete

관련 문제