我开发了一个3状态复选框,允许我发送3个不同的值。以下是我为复选框设置的值。发送3状态复选框的值
State 0 [] = Uncheck (Value = 0)
State 1 [x] = Checked (Value = 1)
State 2 [-] = Indeterminate (Value = 2)
现在问题出现在通过POST方法发送值时。由于取消选中和不确定未选择的,值不被发送,我在两个状态0或状态2
这在数据库中得到0值是复选框的逻辑脚本:
<script>
window.onload = function()
{
setCheckBoxes(document.getElementById('LEVL1LES1'));
}
function setCheckBoxes(cb) {
if (cb.value == 0)
{
cb.checked = false;
}
else if (cb.value == 1)
{
cb.checked = true;
}
else
{
cb.indeterminate=true;
}
}
function changeBoxValues(cb) {
if (cb.value == 0)
{
cb.value = 1;
setCheckBoxes(cb);
}
else if (cb.value == 1)
{
cb.value = 2;
setCheckBoxes(cb);
}
else
{
cb.value = 0;
setCheckBoxes(cb);
}
}
和HTML:
<input type="checkbox" name="LEVL1LES1" value='<?php echo $row["LEVL1LES1"]?>' id="LEVL1LES1" onclick="changeBoxValues(this)">
谁能给我就如何解决这个问题的任何输入,因为我知道,我试图做一个变通方法的默认行为哦复选框?
PS。你可能会问,为什么我不使用其他选项,如下拉?这是为什么:
这听起来像一个“你是错误的”类型的情况。单选按钮或下拉菜单更适合于此。我知道你知道这一点,但你想在这里完成什么不符合单选按钮/下拉列表可以做什么? –
三态复选框是相当标准的UI功能,这是HTML中的一个原因(它们是专门处理的)(https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate) 。 –
我没有处理它错误。这是一个要求,我必须使用复选框。相信我,如果有另一种方式我会使用它。 –