显示数组中复选框的名称

时间:2017-06-26 15:15:33

标签: php html laravel checkbox

我正在尝试使用下面的foreach语句显示我的复选框的名称,但是对于每个选中的语句,我所得到的只是“打开”。我已经获得了其中一个复选框的代码,并且想知道是否有任何我可以更改它以使其工作。

if(!empty($_POST['OUSdrop'])){
    foreach($_POST['OUSdrop'] as $check){
        echo $check;
    }
}


<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="UKSen">
    <input type="checkbox" id="UKSen" name="OUSdrop[]" class="mdl-checkbox__input">
    <span class="mdl-checkbox__label" value="UK">United Kingdom</span>
</label>

3 个答案:

答案 0 :(得分:1)

试试这个:

if(!empty($_POST['OUSdrop'])){

    foreach($_POST['OUSdrop'] as $check => $value){
        echo $check;

    }
}

HTML CODE

<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="UKSen">
        <input type="checkbox" id="UKSen" name="OUSdrop[HERE]" class="mdl-checkbox__input">
        <span class="mdl-checkbox__label" value="UK">United Kingdom</span>
</label>

$check将包含密钥ans $value值。

答案 1 :(得分:1)

为什么不将其改为

<input type="checkbox" id="UKSen" name="OUSdrop[UK]" class="mdl-
checkbox__input">

以便您知道要设置哪一个?

并且还改变循环

foreach($_POST['OUSdrop'] as $check => $value){
        echo $check.':'.$value;
}

答案 2 :(得分:0)

您已将span标记中的值设置为input

当未定义值时,大多数浏览器将默认为value="on",这意味着它已打开(已选中)

if (! empty($_POST['OUSdrop'])) {
    foreach($_POST['OUSdrop'] as $check) {
        echo $check;
    }
}


<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="UKSen">
    <input type="checkbox" 
           id="UKSen" 
           name="OUSdrop[]" 
           class="mdl-checkbox__input"  
           value="UK">
    <span class="mdl-checkbox__label">United Kingdom</span>
</label>