javascript - 调用函数时更改 div 颜色 - jquery

标签 javascript php jquery ajax

这里是使用 while 循环打印的产品列表

while($rr = $retval->fetch_object()) {
    $summery_return .= '<div class="w3-blue w3-card-4" style="font-size:18px;">';
    $summery_return .= '<span style="color:white;padding:2px;font-weight:bold" id="itmslct" data-proname='.$rr->product.'>'.$rr->product.'<span style="float:right;margin-right:19px;">'.$rr->qty.'</span>';
    $summery_return .='</span><hr style="margin:3px"></div>';
}

脚本

  $summery_return .='<script>
    $(document).ready(function(){

            $("#itmslct").click(function() {
                var loc_proname = $(this).attr("data-proname");
                alert(loc_proname);
            $("."+loc_proname).css("background-color", "#f00"); 

             });

             });
     </script>';
 return $summery_return;

表格中的产品

while($row = $result2->fetch_object()){           
    $icost=$row->quantity*$row->price;
    $progress_return .='<tr class='.$row->product.'>
          <td><b>'.$row->product.'</b></td>
         <td><b>'.$row->type.'</b></td>
         <td><b>'.$row->quantity.'</b></td>
         <td><b>'.$row->pack.'</b></td>
         <td><b>'.$row->topping.'</b></td>
         <td><b>'.$row->extra.'</b></td>
         <td><b>'.$row->comments.'</b></td>
         <td><button style="background-color:red;color:white">Done</button></td>
        </tr>';     
    $total=$total+$row->quantity*$row->price;                   
} 

当我点击第一个 while 循环打印的产品时,第二个 while 循环中产品的背景颜色应该改变。 表中有多个具有相同名称的产品,当我在第一个 while 循环上选择产品时,所有背景颜色都需要更改

我尝试这样做,但没有看到任何结果

最佳答案

我猜您的代码无法正常工作,因为您的 HTML 无效。在 DOM 中; id 应该是唯一的。所以要避免重复的id;请修改PHP以及相应的JS代码。我们将把它改为 class,而不是 id="itmslct",如下所示:

while($rr = $retval->fetch_object()) {
    $summery_return .= '<div class="w3-blue w3-card-4" style="font-size:18px;">';
    $summery_return .= '<span style="color:white;padding:2px;font-weight:bold" class="itmslct" data-proname='.$rr->product.'>'.$rr->product.'<span style="float:right;margin-right:19px;">'.$rr->qty.'</span>';
    $summery_return .='</span><hr style="margin:3px"></div>';
}

相关的 JS 是:

$(document).ready(function(){

    $(".itmslct").click(function() {
        var loc_proname = $(this).attr("data-proname");
        alert(loc_proname);
        $("."+loc_proname).css("background-color", "#f00"); 
    });

});

关于javascript - 调用函数时更改 div 颜色 - jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44261370/

相关文章:

php - 自动从 PHP 代码中删除注释的最佳方法

php - Wordpress 样式表子主题

javascript - 如何返回元素 ID 而不是 [object HTMLDivElement] (Prototype.js)

JavaScript 结束于()

javascript - 在 Vue 单文件组件中启用管道运算符的最简单方法

php - 如何重建 Symfony Encore Assets ?

php - ISSET 与 JQUERY 的执行顺序

javascript - Gridster on_overlap_stop 覆盖

javascript - 检查服务器的可达性

javascript - 自动完成动态输入字段失败