私はYiiプロジェクトに取り組んでおり、このリンクをたどって、ページをリロードせずにcListviewの結果をフィルタリングしています。
リンクと同じコードを使用しています。
<?php
Yii::app()->clientScript->registerScript('search',
"$('#searchform').change(function(event) {
SearchFunc();
return false;
});
jQuery('input').keydown(function (event) {
if (event.keyCode && event.keyCode == '13') {
SearchFunc();
return false;
} else {
return true;
}
});
function SearchFunc() {
var data = $('input').serialize();
var url = document.URL;
var params = $.param(data);
url = url.substr(0, url.indexOf('?'));
window.History.pushState(null, document.title,$.param.querystring(url, data));
}
");
?>
コードは localhost で正常に動作し、フォームの変更時に古い検索結果を新しいものに置き換えますが、ライブ サーバーでは結果を 1 回だけ置き換えます。2 回目以降は、古い検索結果の上に新しい検索結果を追加するだけです。
これを解決するのを手伝ってください。