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

如何在PHP中匹配选中的单选框与对应的HTML隐藏输入框?

解决单选按钮选中后获取对应ID的问题

最优方案:直接将单选按钮的value设为产品ID

根本不需要额外的隐藏字段,直接把单选按钮的value值替换成产品ID即可,用户选中某个选项后,$_POST["product"]就能直接拿到对应的ID,代码修改如下:

foreach($products as $product) {
    echo '<input required type="radio" id="'.$product->ID.'" name="product" value="'.$product->ID.'">';
    echo '<label for="'.$product->ID.'">'.$product->post_title.'</label><br>';
}

提交后获取ID:

$selectedProductId = $_POST['product'];

若需保留value为标题的备选方案

如果一定要让单选按钮的value保留为标题,可以通过关联映射的方式实现,但这种方式相对繁琐:

foreach($products as $product) {
    echo '<input required type="radio" id="'.$product->ID.'" name="product" value="'.$product->post_title.'">';
    echo '<label for="'.$product->ID.'">'.$product->post_title.'</label><br>';
    // 隐藏字段用标题作为键名,存储对应ID
    echo '<input type="hidden" name="product_ids['.$product->post_title.']" value="'.$product->ID.'">';   
}

提交后通过选中的标题映射到ID:

$selectedTitle = $_POST['product'];
$selectedProductId = $_POST['product_ids'][$selectedTitle];

注意:如果产品标题存在重复,第二种方案会出现ID覆盖问题,因此优先推荐第一种直接将value设为ID的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:48:22