2011-08-16 90 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)