對於我正在開發的項目,我需要一個單擊(de)選項的多輸入列表,它可以與Internet Explorer(10)一起使用。我發現和修改這個代碼,這是工作得非常好:Javascript multiple select
但有一個問題:
應通過郵政法的PHP腳本發送的選擇權的價值,但它發送只有一個選定的值。在搜索網頁後,我發現我需要像數組一樣命名我的<select>
的NAME。所以我將NAME="sel_current"
更改爲NAME="sel_current[]"
。但是隨着這一改變,這個腳本停止了工作。
我希望document.forms[0].sel_current
在init()
更改爲document.forms[0].sel_current[]
將修復它,但它不會。
<HTML>
<HEAD>
<TITLE>Multi-select test</TITLE>
<SCRIPT LANGUAGE="JavaScript">
var multiSelect_current = new Object();
function storemultiSelect_current_current(obj) {
var name = obj.name;
multiSelect_current[name] = new Array();
for (var i=0; i<obj.options.length; i++) {
multiSelect_current[name][i] = obj.options[i].selected;
}
}
function changemultiSelect_current(obj) {
var name = obj.name;
for (var i=0; i<obj.options.length; i++) {
if (obj.options[i].selected) {
multiSelect_current[name][i] = !multiSelect_current[name][i];
}
obj.options[i].selected = multiSelect_current[name][i];
}
}
function init() {
storemultiSelect_current_current(document.forms[0].sel_current);
}
</SCRIPT>
</HEAD>
<BODY onLoad="init()">
<FORM>
<SELECT NAME="sel_current" MULTIPLE METHOD="post" SIZE=10 onChange="changemultiSelect_current(this)">
<OPTION value="1">1111</OPTION>
<OPTION value="2" selected>2222</OPTION>
<OPTION value="3">3333</OPTION>
<OPTION value="4">4444</OPTION>
<OPTION value="5" selected>5555</OPTION>
<OPTION value="6">6666</OPTION>
<OPTION value="7">7777</OPTION>
</SELECT>
</FORM>
</BODY>
</HTML>