10/10/2018, 10:43
textbox và ajax nhờ gỡ rối
1 mảng tên kh
$mang = array("aaa","abc","abd","bbb","bbc");
mình có 1 textbox ,khi gõ chữ cái đầu tiên thì hiện danh sách bắt đầu bằng chữ cái đó và chỉ cho chọn tên có trong danh sách đó
tất cả load trong 1 trang duy nhất
ai có cách nào không .giúp mình với
$mang = array("aaa","abc","abd","bbb","bbc");
mình có 1 textbox ,khi gõ chữ cái đầu tiên thì hiện danh sách bắt đầu bằng chữ cái đó và chỉ cho chọn tên có trong danh sách đó
tất cả load trong 1 trang duy nhất
ai có cách nào không .giúp mình với
Bài liên quan
nếu học php có thể tham khảo quấn jQuery 1.3 with PHP chương 4 phần cuối cùng.
file index.php
<?php include_once('customer.php'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Searh & Show database +</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<!--<script language="javascript" type="text/javascript" src="jquery-1.4.2.min.js"></script>-->
<style>
#customer{width: 80px;}
</style>
<script>
$(document).ready(function(){
$('#customer').keypress(function(e){
$.post('customer.php', {customer: String.fromCharCode(e.charCode)}, function(data){
$('#customer').html(data);
});
});
});
</script>
</head>
<body>
<form name="frmCtrl" id="frmCtrl" method="post" action="">
<label for="customer">Tên Khách hàng</label>
<select id="customer"><?php showCustomer(''); ?></select>
</form>
</body>
</html>
<?php
/*
1. Tạo trước CSDL dbphp:
$sql = "CREATE DATABASE dbphp";
2. Tạo trước tabel tên author có cấu trúc như sau:
$sql = "CREATE TABLE author (
author_id INT NOT NULL AUTO_INCREMENT,
author_name VARCHAR (60) NOT NULL,
author_pass VARCHAR (16) NOT NULL,
author_email VARCHAR (30) NOT NULL,
PRIMARY KEY(author_id)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci";
3. Nhập trước 1 vài giá trị vào table author để test
4. BEGIN
*/
$conn = mysql_connect('localhost', 'root', '') or die ('Ko the ket noi den Server');
mysql_select_db('dbphp', $conn);
function showCustomer($cus){
if ($cus == ""){
$sql = "SELECT author_name FROM author";
} else {
$key = "'" . $cus . "%'";
$sql = "SELECT author_name FROM author WHERE author_name LIKE $key";
}
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
echo '<option value="'.$row***91;'author_name'***93;.'">'.$row***91;'author_name'***93;.'</option>';
}
}
if (isset($_POST***91;'customer'***93;)){
showCustomer($_POST***91;'customer'***93;);
}
?>
cám ơn bạn cái này có tên
jquerry textbox autocomplete
tuy nhiên
mình có 1 mảng
$mang = array("aaa 11","abc 22","abd 33","bbb 44","bbc 55 66");
chưa biết truyền mảng từ php sang mảng javascript
không lẽ đổ lần lượt từng phần tử vào mảng javascirpt kiểu như nối đuôi
như thế này sao
<script type="text/javascript">
var parents = ["Jani", "Tove"];
var children = ["Cecilie", "Lone"];
var family = parents.concat(children);
document.write(family);
</script>
Còn việc truyền biến từ php sang js:
- trên trang html bạn tạo vài input type="hidden", cho nó nhận các giá trị từ php.
- trong js mình sẽ lấy giá trị của các input này.
http://jqueryui.com/demos/autocomplete/
http://php.net/manual/en/function.json-encode.php