我正在按照教程传递文本来搜索ajax,它运行良好。现在我想传递复选框值。有人能指出我正确的方向吗?现在我有:
function search(){
var term=$("#search").val();
if(term!=""){
$("#result").html("<img src='/img/spin.gif'/ style='margin-top: 30px;'>");
$.ajax({
type:"post",
url:"file.php",
data:"q="+encodeURIComponent(term), /* encodeURI is used to escape things such as plus sign */
success:function(data){
$("#result").html(data);
$("#search").val("");
}
});
}
所以,基本上我认为文本是通过post变量&#34; q&#34;发送的。我们说我有一系列复选框,如何将其添加到同一个帖子请求中?
答案 0 :(得分:1)
你可以使用jQuery的序列化。
$('#form').submit(function(e) {
var data = $('#form').serialize();
$.post('form.php',data, function(status) {
if(status == 'success') {
// success
} else {
// error
}
});
e.preventDefault();
});
form.php的
<?php
$search = $_POST['search'];
etc...
答案 1 :(得分:0)
$.ajax({
type:"post",
url:"file.php",
data: {
q: encodeURIComponent(term), /* encodeURI is used to escape things such as plus sign */
checkboxes: $('input[type=checkbox]').serialize()
}
success:function(data){
$("#result").html(data);
$("#search").val("");
}
});
答案 2 :(得分:0)
如果您尝试serialize数据,这对您来说会更简单。
你没有写出你的html的样子,所以让我们说你有一个这样的表格:
<form id="form">
Search text: <input type="text" name="data[text]"/>
<input type="checkbox" name="data[option]" /> Option 1
<input type="submit" value="Search"/>
</form>
要使用ajax请求发送此表单,您所要做的就是序列化表单
$('#form input[type="submit"]').click(function(e) {
e.preventDefault();
$.post("file.php", $("#form").serialize(), function(){
console.log('success');
});
});
然后在您的PHP脚本中,您可以从$ _POST变量中检索数据,例如$ _POST [&#39;数据&#39;] [&#39; text&#39;]