【发布时间】:2014-03-03 06:44:39
【问题描述】:
我想在 jquery 的 $.each 函数中增加 $j。但是$j 没有增加。可能是什么原因。我的代码如下:
$.ajax
({
url : "test.php",
type : "post",
data : {
"categoryIds" : categoryIds
},
dataType : "json",
success : function(resp){
var html = "";
var i = 1;
<?php $j = 1; ?>
$.each(resp,function(key,questions ){
<?php
$j = 1;
$testdataIndex = "answer_".$j;
?>
var test = "<?php echo $testdataIndex?>";
alert(test);
var res = "<?php echo $_SESSION['testdata'][$testdataIndex]; ?> ";
var index = "<?php echo $j++;?>";
alert(index);
});
});
每次test 将“answer_1”和index 打印为 1
【问题讨论】:
-
当然不会,因为你的 PHP 在你的 jQuery 之前先执行,所以它总是会打印相同的值。您应该考虑将 PHP 变量保存到 JavaScript 中,然后将其递增。
-
这是不可能的。你正在混合 php 和 jquery....
-
PHP 是服务器端,JS 是客户端。感受大不同。
-
var js_j = "<?php echo $j ?>";js_j++; -
再次查看您的代码,您似乎正在使用计数器从您的
SESSION变量中检索不同的值,您应该查看AJAX,它允许您在不加载页面的情况下与 PHP 混合.