2011年1月25日 星期二

【Jquery-plugin】Autocomplete:即時搜尋database part2

這是jQuery中一個好用又簡便的套件,
上一次我在使用的時候還蠻順利的,但第二次就....開始鬼打牆了起來!
經過兩天的沉澱,重新來看語法和測試,
才發現自己的錯誤真的很白癡!
再簡單的程式...還是要清楚的頭腦才寫得出來啊!


我用的方法是最陽春的,因為和AJAX還不是很熟悉。
做這個範例,你需要一個檔案和一個後端資料庫。
PS. 以下載入的JS檔案和CSS檔案都是用相對路徑

<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type='text/javascript' src="jquery-autocomplete/jquery.autocomplete.js"></script>
<script type='text/javascript' src='jquery-autocomplete/demo/localdata.js'></script>
<link rel="stylesheet" type="text/css" href="jquery-autocomplete/jquery.autocomplete.css" />
<?php
$str="SELECT * FROM `mixcat_bom`.`factory`";
$query=mysql_query($str);
$data=mysql_fetch_assoc($query);?>
<script type="text/javascript">
$(document).ready(function(){
 var data="<?php do{echo $data['f_name']." ";}while($data=mysql_fetch_assoc($query));?>".split(" ");
 $("#m_vat").autocomplete(data, {matchContains: true})
 });
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
  <label for="m_vat">廠商名稱:</label>
  <input type="text" name="m_vat" id="m_vat" />
</form>
</body>

關於我鬼打牆的地方,其實就是var data的值,
google的結果是,其實var data有兩種寫法:

1.
var data="factory01 factory02 factory03 factory04".split(" ");

2.
var data=["factory01","factory02","factory03","factory04"];

祝福大家成功啦!!

沒有留言:

張貼留言