<script>
$(document).ready(function(){
$(".check").click(function(){
$("input:checkbox[class=check]:checked").each(function () {
//alert($(this).val());
//alert($(this).attr("id"));
var key = $(this).val();
var value = $(this).attr("id");
alert(key'='+value);
//alert(value);
//var dataString = key='+'value;
//alert(dataString);
});
//alert(dataString);
});
});
</script>
上面显示的是我的代码,我想以key = value的格式将字符串传递给ajax数据并将其接收到php $ _POST [&#39; key&#39;]变量
$.ajax({
type: "POST",
url: url,
data: dataString,
cache: false,
dataType: "html",
请有人告诉我如何做到这一点。问题是将数据连接到dataString中。
答案 0 :(得分:0)
使用此:
var key = $(this).val(),
value = $(this).attr("id"),
dataString = {};
dataString[key] = value;
由于ajax data
属性可以接受{ key : value, key : value,.... }
已更新。
好像你无法赶上这个例子,这里我为你做了一个例子, 假设这是我们的HTML:
<input type="checkbox" value="a" id="aa" checked/>a
<input type="checkbox" value="a1" id="aaa" checked/>a1
<input type="checkbox" value="a2" id="aaaa" checked/>a2
<input type="checkbox" value="a3" id="aaaaa" />a3
<button>Click</button>
这是我们的JS:
$('button').click(function () {
// this must be define on the outside of each
var dataString = {};
$(':checkbox:checked').each(function () {
var key = $(this).val();
var value = $(this).attr('id');
dataString[key] = value;
});
// open console to see the actual result
console.log(dataString);
// here you can make ajax request and use
// dataString as parameter like your current code
});
这是预期结果Object {a: "aa", a1: "aaa", a2: "aaaa"}
,这是DEMO
稍后在PHP页面中,只需通过以下方式检索它:
$_POST['a']; // <-- aa
$_POST['a1']; // <-- aaa
$_POST['a2']; // <-- aaaa