2012-09-25 5 views
1

J'utilise ce script se débrouiller quelque part à partir d'Internet ..obtenir une valeur multiple de la boîte de sélection?

<html> 
    <head> 
     <title>Test</title> 
     <script type="text/javascript"> 
     function sureTransfer(from, to, all) { 
      if (from.getElementsByTagName && to.appendChild) { 
       while (getCount(from, !all) > 0) { 
        transfer(from, to, all); 
       } 
      } 
     } 

     function getCount(target, isSelected) { 
      var options = target.getElementsByTagName("option"); 
      if (!isSelected) { 
       return options.length; 
      } 
      var count = 0; 
      for (i = 0; i < options.length; i++) { 
       if (isSelected && options[i].selected) { 
        count++; 
       } 
      } 
      return count; 
     } 

     function transfer(from, to, all) { 
      if (from.getElementsByTagName && to.appendChild) { 
       var options = from.getElementsByTagName("option"); 
       for (i = 0; i < options.length; i++) { 
        if (all) { 
         to.appendChild(options[i]); 
        } else { 
         if (options[i].selected) { 
          to.appendChild(options[i]); 
         } 
        } 
       } 
      } 
     } 

     window.onload = function() { 
      document.getElementById("src2TargetAll").onclick = function() { 
       sureTransfer(document.getElementById("source"), document.getElementById("target"), true); 
      }; 
      document.getElementById("src2Target").onclick = function() { 
       sureTransfer(document.getElementById("source"), document.getElementById("target"), false); 
      }; 
      document.getElementById("target2SrcAll").onclick = function() { 
       sureTransfer(document.getElementById("target"), document.getElementById("source"), true); 
      }; 
      document.getElementById("target2Src").onclick = function() { 
       sureTransfer(document.getElementById("target"), document.getElementById("source"), false); 
      }; 
     } 
     </script> 
    </head> 
    <body> 
     <table> 
      <tr> 
       <td> 
        <form name="formcheck" method="post" action="target.php"> 
         <select id="source" name="source" multiple> 
          <option value="1">one</option> 
          <option value="2">two</option> 
          <option value="3">three</option> 
          <option value="4">four</option> 
          <option value="5">five</option> 
          <option value="6">six</option> 
          <option value="7">seven</option> 
          <option value="8">eight</option> 
          <option value="9">nine</option> 
          <option value="10">ten</option> 
         </select> 
        </td> 
        <td> 
         <input type="button" id="src2TargetAll" name="src2TargetAll" value=">>"/><br/> 
         <input type="button" id="src2Target" name="src2Target" value=">"/><br/> 
         <input type="button" id="target2Src" name="target2Src" value="<"/><br/> 
         <input type="button" id="target2SrcAll" name="target2SrcAll" value="<<"/><br/> 
        </td> 
        <td> 
         <select id="target" name="target" multiple> 
         </select> 
        </td> 
       </tr> 
      </table> 
     </form> 
    </body> 
</html> 

Ce code créant deux boîte de sélection qui est des éléments sélectionnés de gauche à droite tout le code fonctionne très bien, mais dans le fichier php je suis en train d'obtenir la valeur par ce code php $targets = $_POST['target']; mais ne pas obtenir toute la valeur alors plz me dire quelle est la bonne façon d'obtenir de la valeur de ce php?

Répondre

2

Utilisez cette

<select id='source' name='source[]' multiple='multiple'> 
0

Donnez à l'élément select un nom se terminant par [] afin que PHP le présente comme un tableau dans $_POST/GET/REQUEST.

0

utilisent ce

<select id="source" name="source[]" multiple='multiple'> 

il affichera un tableau dans le côté serveur

Questions connexes