我通過從數組值中檢索複選框來解決一些問題。通過檢索複選框自動檢查複選框
我試着自動檢查數組所關心的複選框。
array [i]生成一些複選框的輸入 target [i]是一個包含一些checkboxe值的數組。所以當我刷新頁面時,我必須看到「星期二」和「星期幾」已被選中。 cf.the片斷 (我不知道如果我正確地解釋)
// table which generate checkboxes
\t \t \t
var array = new Array();
array[0]="Monday";
array[1]="Tuesday";
array[2]="Wendesday";
array[3]="Thirsday";
array[4]="Friday";
array[5]="Saturday";
array[6]="Sunday";
// values to of checkboxes I want to auto-check
var target = new Array();
target[0]="Tuesday";
target[1]="Wendesday";
var cbh = document.getElementById('checkboxes');
var val = '';
var cap = "";
var j = "";
for (var i in array) {
//Name of checkboxes are their number so I convert the i into a string.
\t j = i.toString();
\t val = j;
\t //cap will be the value/text of array[i]
\t var cb = document.createElement('input');
\t var label= document.createElement("label");
\t cap = array[i];
\t var text = document.createTextNode(cap);
\t cb.type = 'checkbox';
\t cbh.appendChild(cb);
\t cb.name = cap;
\t cb.value = val;
\t label.appendChild(cb);
\t label.appendChild(text);
\t cbh.appendChild(label);
}
{
\t box-sizing: border-box;
}
#data {
\t padding:5px;
\t width:100vw;
}
.multiselect {
\t overflow: visible;
\t padding:0;
\t padding-left:1px;
\t border:none;
\t background-color:#eee;
\t width:100vw;
\t white-space: normal;
\t height:50px;
}
.checkboxes {
\t height:100px;
\t width:100px;
\t border:1px solid #000;
\t background-color:white;
\t margin-left:-1px;
\t display:inline-block;
}
label {
\t display: inline-block;
\t border: 1px grey solid;
\t padding:5px;
}
<form>
\t <div id="data">
\t \t <div class="multiselect">
\t \t \t <div id="c_b">
\t \t \t \t <div id="checkboxes">
\t \t \t \t </div>
\t \t \t </div>
\t \t </div>
\t </div>
</form>
Tuesday and Wendesday have to be automitacly checked
謝謝您的幫助。 Regards
*「所以,當我刷新頁面...」*刷新頁面時,整個事情從頭開始重新加載。你的陣列將會消失。如果你想要這種行爲,你必須將數組放在某個地方('localStorage',cookies,服務器端等),然後在頁面加載時檢索數組。 –
不,因爲當頁面被重新編碼時,在Javascript中有數組,因此它會自動檢查相關的複選框。我不想存儲它。當用戶到達時,已經選擇了兩個選擇。 – Carnatik
您在「刷新」頁面時將「到達」頁面混淆爲頁面。當頁面刷新時,所有內容都消失了,所有的代碼都是從頭開始重新處理的。 –