我在我的JSP網頁在兩次下拉列表的JavaScript +添加項目到下拉
1. lstA
test1
test2
test3
test4
2. lstB
現在的LSTA的選擇,我想填充LSTA的所有項目到LSTB除了選擇之一,也是內容lstA應該保持不變。
我怎樣才能做到這一點?
我試圖做到這一點,但是從lstA中刪除了一些隨機物品,這是相當有線的。
我在我的JSP網頁在兩次下拉列表的JavaScript +添加項目到下拉
1. lstA
test1
test2
test3
test4
2. lstB
現在的LSTA的選擇,我想填充LSTA的所有項目到LSTB除了選擇之一,也是內容lstA應該保持不變。
我怎樣才能做到這一點?
我試圖做到這一點,但是從lstA中刪除了一些隨機物品,這是相當有線的。
你幾乎在你的答案中有正確的答案。
需要注意的事項:在添加之前,您需要清除客戶端列表,否則您將最終獲得越來越多的項目,並且需要在將其添加到客戶端列表之前克隆該選項,因爲節點任何時候都只能在1位父母中存在。
這已經過測試,對我的作品:
<html><body>
<script language="javascript">
function populateClient() {
var serverList = document.getElementById("dropdown1");
var clientList = document.getElementById("dropdown2");
clientList.options.length = 0; // this removes existing options
for (var i = 0; i <= serverList.options.length; i++) {
if (!serverList.options[i].selected) {
clientList.options.add(serverList.options[i].cloneNode(true)); // cloneNode here
}
}
}
</script>
<select id="dropdown1" onchange="populateClient()">
<option value="value1">value1</option>
<option value="value2">value2</option>
<option value="value3">value3</option>
<option value="value4">value4</option>
<option value="value5">value5</option>
</select>
<select id="dropdown2">
</select>
</body></html>
function populateClient(selectItem, clientItem) {
var serverList = selectItem;
for(var i = 1; i <= serverList.options.length; i++) {
if (!serverList.options[i].selected)
clientItem.options.add(serverList.options[i]);
}
}
其中,selectItem和clientItem是下拉式。
當我這樣做時,一些數據被隨機填充到clientItem中,並且selectItem中的一些項目被刪除。
試試這個
<script type="text/javascript">
function AddItem()
{
// Create an Option object
var opt = document.createElement("option");
// Assign text and value to Option object
opt.text = "New Value";
opt.value = "New Value";
// Add an Option object to Drop Down List Box
document.getElementById('<%=DropDownList.ClientID%>').options.add(opt);
}
<script />
值將追加到下拉列表中。
JSP或Javascript?在後一種情況下,你會介意發佈一些HTML/JS代碼。 – 2010-04-12 15:58:10