我想在基于 php 的循环中创建基于 JavaScript 的建议输入,这是我的 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 数组以“,”结尾,因此现在结尾的逗号已被 trim
关于javascript - 在基于 php 的循环上运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40500993/