2012-05-31 121 views
1

我想創建一個選擇列表的PHP數組。該列表有動態選項,選項充滿了javascript的幫助。我想在下一頁獲得所有選項。 所以我想創建一個選項數組。有沒有其他的方法來完成這個東西? 有人可以幫我嗎?提前謝謝你。動態選擇列表和PHP數組

<script type = "text/javascript"> 
var val = ""; 
    function removeOptions(selectbox) { 
val = selectbox.value; 
for (var i = selectbox.options.length-1; i>=1; i--) { 
    if (selectbox.options[i].selected) { 
     addOption(document.form1.list2,val,val); 
     selectbox.remove(i); 
     document.form1.list1.focus(); 
    } 
} 
} 

    function addOption(selectbox,optiontext,optionvalue){ 
    var optn = document.createElement("OPTION"); 
    optn.text = optiontext; 
    optn.value = optionvalue; 
    selectbox.options.add(optn); 
    }</script> 

    //list1 
<select name="list1" size="7" multiple="multiple" id="jumpMenu" onchange="removeOptions(this)" style="width:200px"> 
     <option>Choose Area...</option> 
     <?php foreach($dbh->query($sql) as $row){ 
     $a=$row['name'];?> 
     <option value="<?php echo $a?>"><?php echo $a?></option> 
    <?php }?> 
    </select> 
    //list2 
    <select name="list2" size="7" multiple="MULTIPLE" id="list2" style="width:170px"> 
    </select> 
+0

你能告訴我們你當前的代碼嗎? – TJHeuvel

+0

任何人都請幫助我。 – Yogi

+0

不知道我理解你的問題,你希望選擇框的所有值都發送到下一頁?爲什麼不能在下一頁上再次運行數據庫查詢,或者我錯過了什麼? –

回答

1

首先:如果你想使用多個與選擇框,然後選擇框這個名字必須包含尖銳括號:name="list1[]"name="list2[]" - 這樣一個PHP就知道這是值的數組。

二:學習jQuery - 儘管它可能看起來很難在一開始它會爲你節省大量的時間和瀏覽器兼容性問題的未來。 jQuery將在未來多次保存你的a *。

你的目的,我會建議不只是使用onchange事件,但實現這兩個multiselectboxes將從一個從一個到另一個移動選定的選項,以另一種或全部之間額外的4個按鈕。這種多選選項看起來像下圖所示。

MultiSelectBox

通過第一按鈕>>所有從1選擇的選項被移動到第二個,並且反之亦然與第四按鈕<<。 通過第二按鈕>僅所選擇的選項(s)爲(是)與所述第三按鈕<移動的第二選擇,反之亦然。

通過這個你只能捕捉按鈕上的點擊事件...這真的很容易使用jQuery ...

+0

非常感謝您的寶貴意見。我會盡力根據你的建議去做。非常感謝。 – Yogi

+0

不客氣! – shadyyx