You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多选框未选中时,如何将数组设为'%'后执行json_encode?

解决方案

在PHP端提前处理$_REQUEST['status']参数,确保无论多选框是否选中,都能得到符合要求的数组:

// 判定status参数,未选中任何选项时设为包含'%'的数组
$status = isset($_REQUEST['status']) && !empty($_REQUEST['status']) ? $_REQUEST['status'] : ['%'];
?>
var status = <?php echo json_encode($status); ?>;

逻辑说明

当多选框无选中项时,表单提交不会携带status[]参数,此时$_REQUEST['status']不存在;少数场景下即使存在也会是空数组。通过三元运算符提前判断赋值,可保证$status始终是有效数组:选中时为用户选择的状态值数组,未选中时则是['%'],后续传递给后端接口就能按预期匹配所有状态。

完整修改后的代码片段

// 先处理status变量
$status = isset($_REQUEST['status']) && !empty($_REQUEST['status']) ? $_REQUEST['status'] : ['%'];
?>
var status = <?php echo json_encode($status); ?>;

$.getJSON("fertigung/graph/mes/autocomplete/getdata_downcases_daily.php?type=json", {status: status}, function(data) {
        for( var i = 0; i < data.length; i++) {
            dataPoints1.push({ x: data[i].x, y: data[i].y }); 
        }
        chart1.render();
    });

内容的提问来源于stack exchange,提问作者Para Doxs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:12:09