我需要打印$ positions数组,所以我使用php for loop.。但是我在for loop中也有JQuery函数,所以我写了被echo语句包围的脚本标签。但是'和'搞砸了。我该如何纠正它?还是有其他办法?我也不知道AJAX。
<?php
for ($i=1; $i <=2 ; $i++) {
echo '<script type="text/javascript">
$("#position_fields").append(
'<div id="position'+countPos+'"> \
<p>Year: <input type="text" name="year'+countPos+'" value="<?php echo ($positions[ $i ]['year']);?>" /> \
<input type="button" value="-" \
onclick="$(\'#position'+countPos+'\').remove();return false;"></p> \
<textarea name="desc'+countPos+'" rows="8" cols="80"> <?php echo (htmlentities($positions[ $i ]['description'])); incr($i); ?> </textarea>\
</div>');
</script>';
}
?>
您正在混合使用PHP和Javascript,并且它有一些错误。
我用$ i替换了countPos,并修复了代码。我没有运行它,请自己尝试。
<?php
for ($i=1; $i <=2 ; $i++) {
echo '<script type="text/javascript">
$("#position_fields").append(
<div id="position'.$i.'">
<p>Year: <input type="text" name="year'.$i.'" value="'.($positions[ $i ]['year']).'" />
<input type="button" value="-"
onclick="$(\'#position'.$i.'\').remove();return false;"></p>
<textarea name="desc'.$i.'" rows="8" cols="80">'.(htmlentities($positions[ $i ]['description'])).'</textarea>
</div>\');
</script>';
}
?>