我正在尝试使用下面的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>
答案 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>