首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无“提交”按钮的Ajax搜索

无“提交”按钮的Ajax搜索
EN

Stack Overflow用户
提问于 2014-02-24 04:34:41
回答 4查看 3.9K关注 0票数 0

我有一份搜索表:

代码语言:javascript
运行
复制
<form action="search.php" method="post" name="form" id="form" onsubmit="return false;">
        <input name="search" type="text" id="search">
        <input name="name" type="text" id="name">
    <select name="car" id="car">
      <option value="audi">AUDI</option>
          <option value=bmw">BMW</option>
          <option value="mini">MINI</option>
        </select>
    <select name="year" id="year">
      <option value="2000">2000</option>
          <option value="2005">2005</option>
          <option value="2006">2006</option>
        </select>
</form>

和search.php

代码语言:javascript
运行
复制
<?php
$search = $_POST['search'];
$search = addslashes($search);
$search = htmlspecialchars($search);
$search = stripslashes($search);
$year = $_POST['option'];
$year = addslashes($year);
$year = htmlspecialchars($year);
$year = stripslashes($year);
if($search == '')
    exit("Enter name");
elseif(!preg_match("/^[a-zа-я0-9]+$/ui", $search))  
    exit("Incorrectly");
include 'dbsetting.php';

$mysqli->set_charset("utf8"); 
$query = "SELECT * FROM cars WHERE (type LIKE '%".$search."%' OR name LIKE '%".$search."%' OR class LIKE '%".$search."%') AND year = '".$year."'"; 

现场搜索成功了。使用AJAX代码:

代码语言:javascript
运行
复制
$(function() {
            $("#search").keyup(function(){
                var search = $("#search").val();

                     $.ajax({
                        type: "POST",
                        url: "search.php",
                        data: {"search": search},
                        cache: false,                       
                        success: function(response){
                                    $("#res").html(response);
                                 }
                     });
                     return false;
            });
        });

输入name=“搜索”正确工作,但我不能添加到搜索另一个选择和更多的输入。如何在ajax代码中添加一些输入和选择,以及如何在search.php中保存和添加搜索结果?

我为我的英语感到抱歉。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-24 05:25:01

您可以张贴您的字段的名称值对格式,如:-

代码语言:javascript
运行
复制
var search = $("#search").val();
var name = $("#name").val();
var car = $("#car").val();
var year = $("#year").val();

以及用户发送ajax请求作为数据字段时的查询字符串。

代码语言:javascript
运行
复制
data: {"search": search, "name":name, "car": car, "year":year},

也可以使用$(“表单”).serialize();自动将所有窗体字段转换为名称值对(类似)。

代码语言:javascript
运行
复制
var my_data = $( "form" ).serialize();
// user that variable in your ajax call.
data: my_data,
票数 2
EN

Stack Overflow用户

发布于 2014-02-24 04:41:54

尝试一下,使用jquery

代码语言:javascript
运行
复制
$('#search, #car, #year').bind( "keyup change", function() {
  //put your ajax here
});
票数 1
EN

Stack Overflow用户

发布于 2014-02-24 04:45:00

代码语言:javascript
运行
复制
$(function() {
            $("#search").keyup(function(){
                var search = $("#search").val();
                var name = $("#name").val();
                var car = $("#car").val();
                var year = $("#year").val();

                     $.ajax({
                        type: "POST",
                        url: "search.php",
                        data: {"search": search, "name":name, "car": car, "year":year},
                        cache: false,                       
                        success: function(response){
                                    $("#res").html(response);
                                 }
                     });
                     return false;
            });
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21978959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档