2013-03-11 20 views
2

我正在使用Twitter Bootstrap Typeahead作爲自動填充字段。Typeahead輸入字段和使用AJAX傳遞給PHP的查詢

末狀態的目標:用戶首先進入細節到現場1.當他們進入現場2細節,AJAX經過查詢,因爲它被寫入該查詢基於什麼也進入到一個數據庫中的PHP文件字段1.

如何將來自字段2的查詢和字段1的內容都傳遞給PHP文件並訪問它們。

這是我到目前爲止有:

HTML文件

<div class="field1"> 
    <input type="text" id="field1" data-provide="typeahead" name="field1"> 
</div> 
<div class="field2"> 
    <input type="text" id="field2" data-provide="typeahead"> 
</div> 

<script src="js/jquery-1.9.1.min.js"></script> 
    <script src="js/bootstrap.js"></script> 
    <script> 
$(function() { 
      $("#field2").typeahead({ 
       source: function(query, process) { 
     var textVal=$("#field1").val(); 
        $.ajax({ 
         url: 'field2.php', 
         type: 'POST', 
         data: 'query=' + query, 
         dataType: 'JSON', 
         async: true, 
         success: function(data) { 
          process(data); 
      console.log(textVal); 
         } 
        }); 
       } 
      }); 
     }); 
    </script> 

PHP文件:

if (isset($_POST['query'])) { 
$db_server = mysql_connect("localhost", "root", "root"); 
mysql_select_db("db_test"); 

$query = $_POST['query']; 
$other = '**This needs to be field 1**'; 

$sql = mysql_query("SELECT * FROM table WHERE row1 LIKE '%{$query}%' AND row2 = '$other'"); 
$array = array(); 

while ($row = mysql_fetch_assoc($sql)) { 
    $array[] = $row['row1']; 
} 

echo json_encode($array);} 

目前,查詢部分作品完美,返回結果(控制檯也顯示'Field1'的值,只需要獲取該值ue同時進入php文件!

如果我理解這一點正確的,要現場1和2的兩個值解析到同一個AJAX調用任何幫助將是巨大的

回答

7

。這是你如何做到的。

<script> 
$(function() { 
    $("#field2").typeahead({ 
    source: function(query, process) { 
     var textVal=$("#field1").val(); 
     $.ajax({ 
     url: 'field2.php', 
     type: 'POST', 
     data: 'query=' + query + '&field1=' + textVal, 
     dataType: 'JSON', 
     async: true, 
     success: function(data) { 
      process(data); 
      console.log(textVal); 
     } 
     }); 
    } 
    }); 
}); 
</script> 

現在您只需在PHP文件中創建另一個$ _POST ['field1']。

+0

謝謝HEAPS!這已經整理出來,現在所有的作品,謝謝 – william 2013-03-11 04:11:52

+0

不客氣:) – 2013-03-11 04:12:55

+0

@HassaninAhmed我得到一個錯誤'未捕獲的類型錯誤:無法讀取屬性'toLowerCase'未定義' – Rafee 2015-01-28 20:37:05

0
var userQuery = $('#ID of query input element').val(); 
var field1 = $('#ID of input 1 element').val(); 
$.ajax({ 
type: "POST", 
url: '', 
data: {query: QueryVariable, input1: input1variable}, 
success: function(data) { 
     // code within this block 
}, 
error: function() { 
    alert('System Error! Please try again.'); 
}, 
complete: function() { 
    console.log('completed') 
} 

}); // *** END $ .ajax致電

相關問題