[英]Select all in PHP dropdown list
我創建了一個簡單的下拉列表,該列表是從上一個下拉列表填充的。
如何選擇全部?
下面提到的是用於JavaScript填充的代碼。
function OnClkAddButtonServer(form)
{
var selObj = document.getElementById('List1');
var selObj2 = document.getElementById('List2');
var i;
var count = selObj2.options.length;
for (i=0;i<selObj.options.length;i++)
{
if (selObj.options[i].selected)
{
var option = new Option(selObj.options[i].text,selObj.options[i].value);
option.title = selObj.options[i].text;
selObj2.options[count] = option;
count=count+1;
selObj.options[i] = null;
i--;
}
}
}
提前致謝
如果嘗試選擇列表中的所有選項,則需要HTML看起來像這樣。
<select multiple="multiple">
<option selected="selected">Volvo</option>
<option selected="selected">Saab</option>
<option selected="selected">Mercedes</option>
<option selected="selected">Audi</option>
</select>
要選擇一個新創建的選項,您可以像這樣使用Javascript方法來更改HTML屬性。
document.getElementById("idElement").setAttribute("class", "className");
此示例要求您知道元素的ID,但是如果您以另一種方式引用了該元素,則可以跳過浪費的查找。
首先,如果要選擇所有下拉選項,則需要確保選擇類型為多個。
例如,假設selObj2引用了<select>
標記( <select id = "List2">
),則需要將“ multiple”屬性添加到select標記:
<select id = "List2" multiple = "multiple">
如果要在JS中執行此操作,則可以插入以下行:
selObj2.setAttribute("multiple", "multiple");
要么,
selObj2.multiple = true;
當然,假設selObj2是<select>
標簽。 但是,必須啟用多個選擇才能選擇多個選項。 啟用此屬性后,您可以繼續下一步...
現在,假設selObj2.options指向您要選擇的單個選項,則可以在JS中執行此操作(只需在函數OnClkAddButtonServer的大括號之前添加此塊):
for (var i=0; i<selObj2.options.length; i++)
{
selObj2.options[i].setAttribute("selected", true);
// or,
// selObj2.options[i].selected = true;
}
另外,請注意我使用的for循環:
var i=0;
這是因為我們在循環作用域本地創建了變量i,這意味着,如果我們要在循環作用域之外使用i,則這兩個實例不會沖突。 如果您沒有使用關鍵字“ var”,那么變量i可以在整個腳本中的任何位置訪問(創建了全局變量)。 將變量保持在局部是一個好習慣,並且由於人們經常在這些循環中使用i或x作為計數器,因此要采取一定的預防措施,以避免出現任何令人討厭的意外情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.