2011-08-16 142 views
0

我是javascript新手,所以請任何幫助,將不勝感激。我一直在嘗試從我的頁面上的下拉列表中獲取選定的值,以便交換它們。我試過在網上尋找解決方案,但我很難過。出於某種原因,s1 [i] .selected完全不起作用。這裏是我的javascript代碼:無法從多個選擇列表中選擇要插入其他選擇列表的值

<script type="text/javascript"> 
    function swaprows(s1, s2) 
    { 
     var items = ""; 
     var len = s1.length; 
     for(i=0;i<len;i++) 
     { 
      if(s1[i].selected) 
      { 

      } 
     } 
    }  
</script> 

的事情是我在使用PHP生成的飛行,這些列表框,他們沒有硬編碼到我的HTML。下面是我用它來創建它們並調用JavaScript函數的代碼:

<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 

    <ul> 
    <?php 
    do 
    { 
     echo "<li>"; 
     echo "<h2 class=\"expand\" >Choose the sizes for " . $product_array['Product Name'] . "\n</h2>"; 
     echo "<div class=\"collapse\">"; 
     echo "<table border=\"0\">"; 
     echo "<tr>"; 
     echo "<td rowspan=\"2\"><select size=\"8\" multiple=\"true\" name=\"selectsizes[]\" id=\"selectsizes\">\n"; 
     for($i=0; $i < sizeof($sizes_data); $i++) 
     { 
      echo "<option value=" . $sizes_data[$i]['Size ID'] . ">" . $sizes_data[$i]['Size Name'] . "</option>\n"; 
     } 
     echo "</select></td>\n"; 

     echo "<td valign=\"top\"><input type = \"button\" OnClick=\"swaprows(this.form.selectsizes, this.form.selectedsizes);\" value=\"-->\" /></td>"; 

     echo "<td rowspan=\"2\"><select multiple=\"true\" name=\"selectedsizes[]\" id=\"selectedsizes\">\n"; 
     echo "</select></td>\n"; 

     echo "<td rowspan=\"2\" valign=\"bottom\"><input type=\"submit\" id=\"btnSubmit\" name=\"SaveSizes[" . $product_array['Product ID'] . "]\" value=\"Save\" /></td>"; 

     echo "</tr><tr>"; 

     echo "<td valign=\"top\"><input type = \"button\" OnClick=\"swaprows(this.form.selectedsizes, this.form.selectsizes);\" value=\"<--\" /></td>";   

     echo "</tr>"; 

     echo "</table>"; 

     echo "</li>"; 
    }while($product_array = mysql_fetch_assoc($product_result));  

    ?> 
    </ul> 
    </form> 

因爲我在做與提交按鈕我需要命名我的列表作爲selectsizes []和selectedsizes []後動作分別使然後我可以通過post變量傳遞它們的選定值。有人可以幫我從這裏出去嗎?

回答

0

我敢肯定你並不需要JavaScript的這個..只是在[]中該字段的名稱。然後在另一邊PHP將自動使所選字段的後變量數組。

$sizes = $_POST['select_sizes']; 
$quantity = sizeof($sizes); 
$inc = 0; 
while ($inc < $quantity) { 
    echo "User selected:".$sizes[$inc]; 
    $inc++; 
} 
0

嘗試 如果(S1 [I] .selected ==真)

var sPool = s1[i]; 
if(sPool.selected == true)