我想创建基于JavaScript的建议输入基于php的循环,这是我的JavaScript代码,
<script>
$(function() {
var availableTags = [
<?php do { ?> "<?php echo $row_style['style']; ?>", <?php }
while($row_style = mysql_fetch_assoc($style)); ?>];
$( "#style" ).autocomplete({ source: availableTags });
});
</script>
这是我的HTML代码,
<html>
<table>
<tr><td>no</td><td>style</td></tr>
<?php $no=1; for ($i=1; $i<=4; $i++){?>
<tr><td><?php echo $no++ ?></td><td><input name="style" type="text"></td></tr>
<?php } ?>
</table>
</html>
它在第一行工作,但不是第二,第三或第四行,我的代码发生了什么?
解决方案:
<?php
$style = '';
while($row_style = mysql_fetch_assoc($style)) {
$style .= $row_style['style'].',';
}
$style = rtrim($style, ',');
?>
<script>
$(function() {
var availableTags = [<?php echo $style;?>];
<?php for ($i=1; $i<=4; $i++){?>
$( "#style<?php echo $i;?>" ).autocomplete({ source: availableTags });
<?php }?>
});
</script>
<html>
<table>
<tr><td>no</td><td>style</td></tr>
<?php $no=1; for ($i=1; $i<=4; $i++){?>
<tr><td><?php echo $no++ ?></td><td><input id="style<?php echo $i;?>" name="style" type="text"></td></tr>
<?php } ?>
</table>
</html>
将'#style'替换为'.style'。
也是你的js数组以','结尾,所以现在结束的逗号被修剪