将值从JQUERY传递给PHP,然后以FORM格式输出到INPUT

时间:2015-10-29 13:49:58

标签: javascript php jquery jquery-ui

我需要从表单中获取一个值然后使用jquery将其发送到php然后输出结果下拉选择菜单

获取使用jquery的值

 <input id="search" name="search" type="text">

将其发送到php并执行查询

  <select  id="farmertype" name="farmertype" >

         <option value="" > - PLEASE SELECT FARM -</option>

         ////   output here as options                                      
  </select>

我的php文件farm.php

<?php
include_once("../init.php");
$q = ($_POST["search"]);

$db->query("SELECT * FROM farmers ");
  while ($line = $db->fetchNextObject()) {

      $idno = $line->idno;
      echo "<option value='$idno'>$idno</option>";

   }
 }

?>

jquery部分非常混乱,这是我真正需要帮助的地方

$("#search").click(function() {
    search = $(this).attr('#search');
    $.ajax({
        type: 'GET',
        url: 'farm.php',
        data: "#search=" + search,

    });
});

3 个答案:

答案 0 :(得分:1)

试试这个,它会对你有帮助。

JQuery的:

$("#search").click(function() {
    search = $(this).val();
    $.ajax({
        type: 'POST',
        url: 'farm.php',
        data: {searchValue:search},
        success:function(result) {
            console.log(result);
        }
    });
});

PHP:

<?php
    include_once("../init.php");
    $q = ($_POST["searchValue"]);
    $db->query("SELECT * FROM farmers");
    $result = [];
    while ($line = $db->fetchNextObject()) {
        $idno = $line->idno;
        $result = "<option value='$idno'>$idno</option>";
    }
    print_r($result);
?>

变量$ q的目的是什么?

答案 1 :(得分:0)

你的jquery可以是:

$("#search").click(function() {
    search = $('#search').val();
    $.ajax({
        type: 'GET',
        url: 'farm.php',
        data: {search : search},
        success: function(html){
            alert(html);
        }

    });
});

答案 2 :(得分:0)

$("#search").click(function() { /* I think you should use keyUp or use click on a button, nobody clicks an input box */
var search = $(this).val();
$.ajax({
    method: 'POST', // 
    url: 'farm.php',
    data: {'search' : search},
    success: function(data){
        alert(data);
    }

});

});