我对此代码感到困惑
if($filter_col!=null && $filter_val!=null)
$filter = $filter_col."|".$filter_val;
$prevpage = $current_page-1;
printf('<ul class="pagination" style="float:right;">');
if ( $current_page > 1 ) {
echo "<li><a href='#' onclick='loadPage(1,$filter)'>First</a> \n </li>";
echo "<li><a href='#' onclick='loadPage($prevpage,$filter)'>Prev</a> \n </li>";
}
function loadPage(page,filter){var dataString;
dataString = 'page='+ page+'&filter='+filter; $.ajax({
url: "page_data.php", //file tempat pemrosesan permintaan (request)
type: "GET",
data: dataString,
success:function(data)
{
$('#divPageData').html(data);
}});}
当我用任何字符串填充$ filter以及空字符串例如'oke'然后它有一个错误说oke没有定义,但是当我填充$ filter适合任何数字时它运行良好 谁能帮我?提前谢谢......
答案 0 :(得分:2)
当您填写像$filter
这样的php var时,请将其逐字插入Javascript中,您必须确保它变为有效的javascript。 e.g:
$filter = 'oke';
$prevpage = 1;
... onclick='loadPage($prevpage,$filter)' ...
将成为
... onclick='loadPage(1,oke)' ...
这是无效的Javascript,因为脚本中没有名为“oke”的变量。您必须执行以下操作之一:
$filter = json_encode('oke');
$prevpage = json_encode(1);
将您的PHP变量值转换为原生javascript值,或者至少用代码的javascript部分中的引号括起变量:
... onclick='loadPage(\'$prevpage\', \'$filter\')' ...