我正在使用 php 脚本从数据库中提取值,如下所示,
<div class="col-md-4" >
<?php
$qry = "SELECT * FROM upperbit_categories";
$rslt = mysqli_query($dbc,$qry);
while ($output = mysqli_fetch_array($rslt)) {
?>
<li class="nav" id="test" style= "text-decoration: none;">
<a href="postad" >
<?php echo $output['Classify'].'<br/>'; } ?>
</a>
</li>
</div>
<div class="col-md-4" id="testing">
</div>
这段代码给了我以下结果:
通用设备
测试设备
可再生能源
工程服务
贸易服务
下面是jQuery位:
<script>
$(document).ready(function(){
$("#test").click(function(){
var classprod = $(this).text();
$("#testing").text(classprod);
event.preventDefault();
})
});
</script>
然而,这只输出第1行,没有其他输出,即通用设备。我必须对我的 javascript 代码进行哪些更改才能显示单击的任何项目?
小错误,但容易解决。你的 php 循环会打开很多标签,只关闭一个标签,然后你应该在多个元素的 Id 上使用 Class 代替。另一个提示是您应该在列表之前打开和关闭 ul 标签。
.HTML
<div class="col-md-4" >
<ul>
<?php
$qry = "SELECT * FROM upperbit_categories";
$rslt = mysqli_query($dbc,$qry);
while($output = mysqli_fetch_array($rslt)){?>
<li class="nav test" style= "text-decoration: none;"><a href="postad" ><?php echo $output['Classify'];?></a></li>
<?php };?>
</ul>
</div>
<div class="col-md-4" id="testing"></div>
.JS
<script>
$(document).ready(function(){
$(".test").on('click',function(event){
event.preventDefault();
var classprod = $(this).text();
$("#testing").text(classprod);
})
});
</script>
另外,我不知道你在做什么,但请考虑使用 $(".test a"( 而不是 $(".test"(
一般来说,HTML 元素的 id 应该是唯一的,这个要求在使用 jQuery 或 JavaScript 时可以实现。在您的代码中,您对循环中的li
元素使用了id="test"
,然后您使用$("#test")
引用了它们,然后由于 id 的唯一性,只有第一个li
起作用。
您可以使用类而不是 ID。