2010-12-23 113 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

相關問題