2010-12-23 111 views
1

我有4个复选框。所有的形式;如何获取多个复选框值并通过jQuery中的ajax发送值?

input type="checkbox" name="Group[]" id="Group" value="uniquevalue" 

我检查了其中4个中的3个。我如何发送以

"a = chkedvalue1 &b = chkedvalue2 &c = chkedvalue3"的形式检查的值?

我正在使用jquery 1.4.2

谢谢!花了整整一天的这个问题无济于事。

+1

不要。真。让服务器端进程期望`Group [] = chkedvalue1&Group [] = chkedvalue2&Group [] = chkedvalue3`(这是表单数据将如何使用普通论坛提交进行编码的方式(这样您可以[建立在工作的东西上] ://icant.co.uk/articles/pragmatic-progressive-enhancement/#build))),然后只使用jQuery的`serialize()` – Quentin 2010-12-23 11:54:35

回答

1

我建议你serialize的形式。

+0

谢谢。这是我正在寻找的功能。 – Darius 2010-12-23 12:05:21

3

首先,删除那个id属性,它需要是唯一的。然后得到的值数组你可以.serialize()<form>这样的:

var data = $("form").serialize(); 

注意这将产生Group[]=...,从name属性删除[]如果你只是想Group=每个。

...或者,如果你想值的数组,使用.map(),像这样:

var arr = $("input[name='Group[]']:checked").map(function() { 
      return this.value; 
      }).get(); 
+0

谢谢。这是答案。 – Darius 2010-12-23 12:04:59

3
<?php 
$con = mysql_connect("localhost","root",""); 
mysql_select_db("test",$con); 
$ID = $_GET['id']; 
$sql = "select city_name from city where id='$id'"; 
$fetch = mysql_fetch_array(mysql_query($sql)); 
$result = explode(",",$fetch['city_name']); 
?> 
<html> 
<body> 
<form method="post" > 
<input type="checkbox" name="city[]" value="Faridabad" <?php for($i=0;$i<4;$i++) if($result[$i]=='Faridabad')echo 'checked'; ?> />Faridabad 
<input type="checkbox" name="city[]" value="Gurgaon" <?php for($i=0;$i<4;$i++) `if($result[$i]=='Gurgaon') echo 'checked';?>/>Gurgaon` 
<input type="checkbox" name="city[]" value="Noida"<?php for($i=0;$i<4;$i++) if($result[$i]=='Noida') echo 'checked'; ?>/>Noida 
<input type="checkbox" name="city[]" value="Gaziabad" <?php for($i=0;$i<4;$i++) if($result[$i]=='Gaziabad') echo 'checked'; ?>/>Gaziabad 
</form> 
</body> 
</html> 
+0

感谢您发表一个答案!虽然代码片段可以回答这个问题,但添加一些附加信息仍然很棒,比如解释等。 – j0k 2012-09-23 09:31:46

相关问题