如何将包含类别的选中复选框的 id 发送到 ajax 并显示与该选中复选框相关的子类别?
P粉245489391
P粉245489391 2023-09-12 22:54:35
[PHP讨论组]

我成功发送了复选框值,该值是选中复选框时的类别 ID,并在同一页面上显示与所选子类别相关的子类别,但当单击多个类别并再次取消选中所有子类别所在的类别之一时,我遇到了问题取消显示。当我随时检查和取消选中值时,我想取消仅显示未选中类别的子类别。这是我的代码希望你明白我的意思谢谢

**脸**

J查询

类别复选框

 
           ">
           
           
           
           
    
    

getsubcat.php

query("SELECT *
FROM subcat WHERE cat_id = '".$q."'");

?>

我正在尝试使用附加的j查询代码来解决问题,但是当我选中复选框时,它显示了所有选中复选框的子类别,但是当取消选中任何一个框时,这将取消显示所有子类别

P粉245489391
P粉245489391

全部回复(1)
P粉938936304

问题是,当取消选中任何复选框时,您实际上会清除所有内容:

function showUser(str) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  }
  ...
}
$('input[type=checkbox]').on('change', function() {
    if($(this).is(':checked')) {
        showUser($(this).val());
    }
    
    
    else{
        
        showUser("");
    }

要解决这个问题,您需要以某种方式识别给定 cat_id 的元素,例如您可以添加数据属性:

<input type="checkbox" id="sub_cat" name="sub_cat" value="<?php echo $row['subcat']; ?>" data-cat="<?php echo $q ?>">
<label for="sub_cat" data-cat="<?php echo $q ?>"> <?php echo $row['subcat'];  ?></label><br>

当您想要取消选中该复选框时,您可以使用该数据属性找到要删除的元素:

function hideUser(str) {
   $('[data-cat="' + str + '"]').remove();
}

$('input[type=checkbox]').on('change', function() {
    const user = $(this).val();
    if($(this).is(':checked')) {
        showUser(user);
    } else{
        hideUser(user);
    }
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号