j查询未提取正确单击的文本值


jQuery not extracting text values clicked properly

我正在使用 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。