【问题标题】:PHP - Manage Checkboxes in loopPHP - 循环管理复选框
【发布时间】:2014-05-05 10:54:14
【问题描述】:

所以,我有一个包含所有 menu_id 的变量。 所以我想展示的是 - 检查当前变量,即 $get_all_menu_values,如果该值存在,则将其标记为勾号(选中)。 否则留空。

   <?php    
    $get_all_menu_values = "1,2,3,4,5"; ?>
    <ul>
    <?php foreach ($getSubMenuValues as $sub_menu): ?>
    <li class='has-sub'><a href='<?=$sub_menu['menu_url']; ?>'><span><?=$sub_menu['menu_name']; ?></span></a></li>
    <div align="center"><input type="checkbox" class="form" value="" name="get_menu_values[]" /></div>
    <?php endforeach; ?>   
    </ul>

换句话说 - 检查 $get_all_menu_values,如果 m_id 相同,请检查它。我猜或多或少地检查了 IN 数组。 但不知道该怎么做。 任何帮助。

谢谢, 金兹

【问题讨论】:

  • $get_all_menu_values 是数组还是字符串?

标签: php html mysql for-loop foreach


【解决方案1】:

是的,in_array 正是您所需要的,

<?php
 $get_all_menu_values_array = explode(",",$get_all_menu_values); 
 foreach ($getSubMenuValues as $sub_menu):
   $isChecked = '';
   if(in_array($sub_menu['m_id'],$get_all_menu_values_array) {
      $isChecked = "checked='checked'";
   } 
?>
<li class='has-sub'><a href='<?=$sub_menu['menu_url']; ?>'><span><?=$sub_menu['menu_name']; ?></span></a></li>
<div align="center"><input type="checkbox" class="form" value="" name="get_menu_values[]" <?=$isChecked; ?> /></div>
<?php endforeach; ?>   

【讨论】:

    【解决方案2】:

    使用 in_array 检查值

        $get_all_menu_values = "1,2,3,4,5";
        <ul>
        <?php foreach ($getSubMenuValues as $sub_menu){ ?>
        <li class='has-sub'><a href='<?=$sub_menu['menu_url']; ?>'><span><?=$sub_menu['menu_name']; ?></span></a></li>
        <div align="center"><input type="checkbox" class="form" value="" <?php (in_array($sub_menu["m_id"], $get_all_menu_values) ? "checked='checked'" : ""; ?> name="get_menu_values[]" /></div>
        <?php } ?>   
        </ul>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-09
      • 2019-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多