我已创建此脚本以通过php:
从一个数据中获取数字var n_polls=<?php echo $t_random_number;?>;
var myArray=n_polls.split(','); //explode
for (i=0;i<4;i++)
{
$("#t_sl_poll_"+myArray[i).hide();
}
这个想法是从一个随机的民意调查系统中给出一些来自php的数字,我希望通过id将这个数据爆解为全部循环。问题是,我看到javascript的爆炸功能失败,所有时间都没有给我任何东西。我该如何解决这个问题?
谢谢。
答案 0 :(得分:2)
为什么你可以让PHP只插入数组时在Javascript中爆炸?
<?php
$numbers = array(1,2,3,4);
?>
<script type="text/javascript">
var n_polls = <?php echo json_encode($numbers); ?>;
for (i in n_polls) {
$("#t_sl_poll_" + n_polls[i]).hide();
}
可以进行进一步的优化,但这将是一个开始的地方。
答案 1 :(得分:0)
看一下你的来源。你的错误控制台会告诉你同样的事情。您不是将数组(而不是数字)放在引号中,因此在运行时无法编译:
var n_polls="<?php echo $t_random_number;?>";
//QUOTES! ^ ^
var myArray=n_polls.split(','); //explode
for (i=0;i<4;i++)
{
$("#t_sl_poll_"+myArray[i]).hide(); //Missing bracket
// ^
}
现在它编译为
var n_polls="1, 2, 3, 4";
而不是
var n_polls=1, 2, 3, 4; //Useless non-working code - not enclosed in anything
答案 2 :(得分:0)
这里有两件事不对。
首先:因为你显然是交出一个字符串而不是一个从php到javascript的数字你必须写:var n_polls="<?php echo $t_random_number;?>";
第二:正如评论中已经指出的那样,你必须将$("#t_sl_poll_"+myArray[i]).hide();
写入数组的实际地址和元素。
答案 3 :(得分:0)
您的代码应该用作
var myArray= [<?php echo $t_random_number;?>];
for (i=0;i<4;i++)
{
$("#t_sl_poll_"+myArray[i]).hide();
}