【问题标题】:Echo checked if checkbox is checked如果选中复选框,则回显检查
【发布时间】:2018-02-09 21:15:01
【问题描述】:

如果这是我的复选框

<input type="checkbox" name="Filter[]" value="Steak" id="Filter"/>

如果复选框被选中 var_export 返回我

["Filter"]=> array(1) { [0]=> string(7) "Steak" 

如果选中复选框,我如何回显“checked=checked”?

【问题讨论】:

  • isset()empty() 浮现在脑海中;喜欢if(!empty(...))if(isset(...))

标签: php arrays checkbox


【解决方案1】:

您需要的是in_array(),这将检查该值是否存在于数组中,如果您的数组包含该值,该函数将返回true,您可以简单地将echo 取出checked 属性

if (in_array('YOUR_VALUE_HERE', $arr)) {
   echo 'checked="checked"';
}

你也可以做一个函数,传递值和数组作为参数,并从函数中返回值。

【讨论】:

  • function.in-array]:第二个参数的数据类型错误。我做错了什么?
  • @user2635574 您没有在$arr 参数处传递数组,您需要在$arr 的位置使用您的实际数组
  • @Mr.Alien,如果实际选中了复选框,这个答案非常有用。如果未选中该复选框,则会发生错误“警告:in_array() 期望参数 2 为数组,空”。如果复选框为空,您知道如何更正此错误吗?谢谢。
【解决方案2】:
$checked = in_array('Steak',$_POST['Filter']) ? ' checked="checked"' : '';
echo '<input type="checkbox" name="Filter[]" value="Steak" id="Filter"'.$checked.'/>';

【讨论】:

    【解决方案3】:
    <?php // Check if the box was sent.
      $checked = "";
      $status = (isset($_REQUEST['status']));
    if ($status == 'checked' )  
    {
      $status = 1;
      $checked = 'checked="checked"';
    }
    else
    {
      $status = 0;
    }
      echo $status; 
      echo <<<END
     <form action="" method="post">
    <input type="checkbox" name="status" $checked /> Testbox<br />
    <input type="submit" onclick="return showDiv();"/>
    </form>
    END;
    ?>
    

    【讨论】:

    • 场景是 .. 如果我选中复选框然后提交值为 1 ,如果未选中的值为 0 .. 并且它工作正常.. 所以我想要发生的是 .. 我想在不提交的情况下获得值 1 和 0 .. 谁能帮我修改我的代码 ..
    【解决方案4】:

    我认为这可能会解决您的问题

    $checked = in_array('Steak',$_POST['Filter']) ? ' 已检查 =“已检查”' : ''; 回声'';

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多