我開發了一個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) 。 –
我沒有處理它錯誤。這是一個要求,我必須使用複選框。相信我,如果有另一種方式我會使用它。 –