2012-04-20 43 views
1

這是我的第一篇文章,我很抱歉,如果我錯了地方。 如果第一個表單設置爲數組,則我的難點是將第一個選擇表單的元素查看到另一個表單。 目標是將選擇表單的元素髮送到另一個表單,然後將它們記錄在數據庫MySQL上,這會將它們顯示在HTML頁面上。 我在這個論壇中找到了如何創建兩個選擇表單並添加'n刪除項目,然後用命令.implode的MySQL可以加入元素並在數據庫中插入多個項目並在頁面上查看它們。 但是,如果我將名稱的選擇窗體設置爲數組,它不起作用。我用下面的腳本有兩個選擇形式:發送選擇表單的元素到另一個

<script language="javascript"> 
function getOpt(select1,select2) 
{ 
for (bCnt=0;bCnt<select1.length;bCnt++) 
{ 
if (select1.options[bCnt].selected) 
{ 
newOpt=new 
Option(select1.options[bCnt].text,select1.options[bCnt].value,false,false); 
select2.options[select2.length]=newOpt; 
} 
} 
} 

function remOpt(select2) 
{ 
for (bCnt=0;bCnt<select2.length;bCnt++) 
{ 
if (select2.options[bCnt].selected) 
select2.options[bCnt]=null; 
} 
} 
</script> 

則選擇形成:

<table border="0"> 
<tr> 
<td> 
<label for="id">List:<br></label> 
<select name="oneS" id="select_role" size=20 required multiple="multiple"/> 
<option value="101">101</option> 
<option value="102">102</option> 
<option value="103">103</option> 
<option value="104">104</option> 
<option value="105">105</option> 
<option value="106">106</option> 
</select> 
</td> 
<td> 
<input type="button" value="Add"onClick="getOpt(this.form.oneS,this.for m.twoS)"><br> 
<input type="button" value="Remove"onClick="remOpt(this.form.twoS)"> 
</td> 
<td> 
<label for="id">Members List:<br></label> 
<select name="twoS" id="select_role" size=20 multiple="multiple"/> 
</select> 
</td> 
</tr> 
</table> 

如果評論腳本,按鈕的部分,第二種形式和改線:

<select name="oneS" id="select_role" size=20 required multiple="multiple"/> 

<select name="oneS[]" id="select_role" size=20 required multiple="multiple"/> 

我有什麼問題,可以記錄數據庫上的第一個選擇表單的項目,並在頁面上查看它們。 但這不是我的目標,我不得不使用2選擇形式。 有沒有人可以幫助我?非常感謝。

回答

0

我有你使用jQuery,那就是:

$(document).ready(function() 
{ 
$('.add').click(function(event)//this is your first form, with the id "select_role" 
{ 
$('#select_role2).html($(this).html()+"add whatever html code you want to insert into here"); 
}); 
}); 

用於刪除項目同樣的想法。 然後使用$ .ajax或$ .post將數據發送到mysql或使用變量來存儲從第二個選擇中添加或刪除的所有html。

只需包括jQuery庫,你就全部排序。我很久沒有寫過原始的JAvascript,但是這會在jQuery的幫助下工作。不要再爲兩個元素使用相同的ID。該ID必須是唯一的。

然後假設您插入了大量選項,您可以在$.ajax調用中使用$('#your_form_id).serialize()獲取元素數組,然後使用PHP技術來解析name =「insertedoption []」/>。我不完全確定我對你的幫助太大了,因爲你需要閱讀幾件事情,但這是一個關於如何做你需要做的事情的想法。

+0

你能舉個例子嗎?謝謝 – 2012-04-21 10:44:39

+0

究竟是什麼樣的例子?請更具體一點。 – 2012-04-21 11:39:07

+0

如何將腳本代碼應用到我的上述代碼中,我不是jQuery的專家,只是爲了理解它,我將單獨修改其餘的代碼。 – 2012-04-21 12:40:07

相關問題