2011-01-06 85 views

回答

0

不看那个页面,要从一个select中发送多个值,只需在名称字段后面加上[]即可:<select multiple="multiple" name="foo[]">

请求数组(PHP中的$ _GET或$ _POST)将包含一个映射到多个“选定”值的键'foo'。一旦你已经修改了页面,让正在发生的事情有更明确的想法,只是做:

print_r($_GET['foo']); // or $_POST, whichever 

然后,你将只需要修改服务器脚本存储(或做什么)与一组收到值。

下面的例子演示了如何创建从所述多个选择值的字符串,通过登记一个onchange处理程序来选择元件:

document.getElementById("theSelect").onchange = function() { 
    var len = this.options.length; 
    var selected = []; 
    for(var i = 0; i < len; i++) { 
     if(this.options[i].selected) { 
      selected.push(this.options[i].value); 
     } 
    } 
    alert(selected); 
    //so you can do something like getUsers(selected.join(",")); 
}; 

Working example.

+0

我没有改变的形式<选择name = “acad_year []” 的onchange =“showUser(此。值)“多>”。我的问题是,我如何在客户端chnage在该示例发送多个选择。 – 2011-01-06 07:15:07

+0

@阿伦 - 有你,我马上编辑。 – karim79 2011-01-06 07:20:26

0

这是相同的。不同之处在于,当您将数据发送到服务器时,您会发送一个名称列表。然后,您可以在服务器中使用PHP来构建HTML并将其返回。

0

如果UR使用复选框使用POST方法尝试而不是GET

xmlhttp.open("POST","getuser.php",true); 

<input tabindex="3" type="checkbox" name="gender[]" id="gender" value="M">Male 
<input tabindex="4" type="checkbox" name="gender[]" id="gender" value="F">Female 

try print_r($_POST); 

由于 Sanil