這是我的複選框清單和我需要提交資料的按鈕..
<label>Access Locations </label> <br /> <input type="checkbox" name="chk[]" id="check1" class="pl" value="INT" /> dummy1 <input type="checkbox" name="chk[]" id="check2" class="pl" value="MV" /> dummy2 <input type="checkbox" name="chk[]" id="check3" class="pl" value="FV" /> dummy3 <input type="checkbox" name="chk[]" id="check4" class="pl" value="PS" /> dummy4 <br /> <h4 name ="checkboxvalues" style="color:green" id="result_checkbox"></h4> <input type="hidden" name="employee_id_update" id="employee_id_update" /> <input onclick="getCheckboxValue()" type="submit" name="insert" id="insert" value="Update" class="btn btn-success" />
點擊按鈕時我正在使用下面的類別..
function getCheckboxValue() { var l1 = document.getElementById("check1"); var l2 = document.getElementById("check2"); var l3 = document.getElementById("check3"); var l4 = document.getElementById("check4"); var res=" "; if (l1.checked == true){ var pl1 = document.getElementById("check1").value; res = pl1 + ","; } else if (l2.checked == true ){ var pl2 = document.getElementById("check2").value; res = res + pl2 + ","; } else if (l3.checked == true){ document.write(res); var pl3 = document.getElementById("check3").value; res = res + pl3 + ","; } else if (l4.checked == true){ var pl4 = document.getElementById("check4").value; res = res + pl4 + ","; } return document.getElementById("result_checkbox").innerHTML = "You have selected " + res ; }
從上面的方法中,儘管我選中了多個複選框,但單擊按鈕時,我只能在 checkboxvalues
中看到一個值,如圖所示。
有人可以告訴我如何改進我的程式碼,以便在選取多個複選框時顯示所有值嗎?
如果 check1 和 check2 都選擇輸出應該是
輸出:
You have selected INT,MV
您正在使用 if-else 梯形圖,這表示如果其中一個條件滿足並執行,其他區塊將被忽略。您可以使用多個 if 區塊來避免這種情況。
您正在使用
if else if
語句,因此一旦其中一個語句被執行,其餘語句就不會被執行。您可以為每個複選框嘗試一個 if 語句,它將完成工作。