JqueryUI - Pelengkapan otomatis
Penyelesaian otomatis adalah mekanisme yang sering digunakan di situs web modern untuk memberikan daftar saran awal kata kepada pengguna, yang telah diketiknya di kotak teks. Pengguna kemudian dapat memilih item dari daftar, yang akan ditampilkan di kolom input. Fitur ini mencegah pengguna untuk memasukkan seluruh kata atau sekumpulan kata.
JQueryUI menyediakan widget pelengkapan otomatis - kontrol yang berfungsi sangat mirip dengan dropdown <select>, tetapi memfilter pilihan untuk hanya menampilkan yang cocok dengan apa yang diketik pengguna ke dalam kontrol. jQueryUI menyediakanautocomplete() metode untuk membuat daftar saran di bawah bidang masukan dan menambahkan kelas CSS baru ke elemen terkait untuk memberi mereka gaya yang sesuai.
Sintaksis
Itu autocomplete() metode dapat digunakan dalam dua bentuk -
$ (selector, context) .autocomplete (options) Metode
$ (selector, context) .autocomplete ("action", params) Metode
$ (selector, context) .autocomplete (options) Metode
Metode pelengkapan otomatis (opsi) menyatakan bahwa elemen <input> HTML harus dikelola sebagai bidang masukan yang akan ditampilkan di atas daftar saran. The pilihan parameter adalah obyek yang menentukan perilaku daftar saran ketika pengguna berada mengetik di kolom input.
Sintaksis
$(selector, context).autocomplete (options);
Anda dapat memberikan satu atau lebih opsi sekaligus menggunakan objek Javascript. Jika ada lebih dari satu pilihan yang akan diberikan maka Anda akan memisahkannya menggunakan koma sebagai berikut -
$(selector, context).autocomplete({option1: value1, option2: value2..... });
Tabel berikut mencantumkan opsi berbeda yang dapat digunakan dengan metode ini -
Sr.No. | Opsi & Deskripsi |
---|---|
1 | appendTo Opsi ini digunakan untuk menambahkan elemen ke menu. Secara default nilainya adalahnull. Option - appendTo Opsi ini digunakan untuk menambahkan elemen ke menu. Secara default nilainya adalahnull. Jika nilainya null, orang tua dari kolom input akan diperiksa untuk kelas ui-front . Jika elemen dengan kelas ui-depan ditemukan, menu akan ditambahkan ke elemen itu. Syntax
|
2 | fokus otomatis Opsi ini jika disetel ke true , item pertama dari menu akan secara otomatis difokuskan saat menu ditampilkan. Secara default nilainya adalahfalse. Option - autoFocus Opsi ini jika disetel ke true , item pertama dari menu akan secara otomatis difokuskan saat menu ditampilkan. Secara default nilainya adalahfalse. Syntax
|
3 | menunda Opsi ini adalah Integer yang mewakili jumlah milidetik untuk menunggu sebelum mencoba mendapatkan nilai yang cocok (seperti yang ditentukan oleh opsi sumber ). Hal ini dapat membantu mengurangi meronta-ronta saat data non-lokal diperoleh dengan memberikan waktu kepada pengguna untuk memasukkan lebih banyak karakter sebelum pencarian dimulai. Secara default nilainya adalah300. Option - delay Opsi ini adalah Integer yang mewakili jumlah milidetik untuk menunggu sebelum mencoba mendapatkan nilai yang cocok (seperti yang ditentukan oleh opsi sumber ). Hal ini dapat membantu mengurangi meronta-ronta saat data non-lokal diperoleh dengan memberikan waktu kepada pengguna untuk memasukkan lebih banyak karakter sebelum pencarian dimulai. Secara default nilainya adalah300. Syntax
|
4 | dengan disabilitas Opsi ini jika ditentukan dan benar , widget pelengkapan otomatis awalnya dinonaktifkan. Secara default nilainya adalahfalse. Option - disabled Opsi ini jika ditentukan dan benar , widget pelengkapan otomatis awalnya dinonaktifkan. Secara default nilainya adalahfalse. Syntax
|
5 | minLength Jumlah karakter yang harus dimasukkan sebelum mencoba mendapatkan nilai yang cocok (seperti yang ditentukan oleh opsi sumber). Hal ini dapat mencegah kumpulan nilai yang terlalu besar untuk disajikan saat beberapa karakter tidak cukup untuk mengurangi kumpulan ke tingkat yang wajar. Secara default nilainya adalah1. Option - minLength Jumlah karakter yang harus dimasukkan sebelum mencoba mendapatkan nilai yang cocok (seperti yang ditentukan oleh opsi sumber). Hal ini dapat mencegah kumpulan nilai yang terlalu besar untuk disajikan saat beberapa karakter tidak cukup untuk mengurangi kumpulan ke tingkat yang wajar. Secara default nilainya adalah1. Syntax
|
6 | posisi Opsi ini mengidentifikasi posisi menu saran dalam kaitannya dengan elemen masukan terkait. The of default pilihan untuk elemen input, tetapi Anda dapat menentukan elemen lain untuk posisi melawan. Secara default nilainya adalah{ my: "left top", at: "left bottom", collision: "none" }. Option - position Opsi ini mengidentifikasi posisi menu saran dalam kaitannya dengan elemen masukan terkait. The of default pilihan untuk elemen input, tetapi Anda dapat menentukan elemen lain untuk posisi melawan. Secara default nilainya adalah{ my: "left top", at: "left bottom", collision: "none" }. Syntax
|
7 | sumber Opsi ini menentukan cara data yang cocok dengan data masukan diperoleh. Nilai harus diberikan atau widget pelengkapan otomatis tidak akan dibuat. Secara default nilainya adalahnone; must be specified. Option - source Opsi ini menentukan cara data yang cocok dengan data masukan diperoleh. Nilai harus diberikan atau widget pelengkapan otomatis tidak akan dibuat. Nilai ini bisa berupa:
Syntax
|
Bagian berikut akan menunjukkan kepada Anda beberapa contoh yang berfungsi dari fungsi widget pelengkapan otomatis.
Fungsionalitas Default
Contoh berikut menunjukkan contoh sederhana dari fungsi widget pelengkapan otomatis, tanpa meneruskan parameter ke autocomplete() metode.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<!-- Javascript -->
<script>
$(function() { var availableTutorials = [ "ActionScript", "Bootstrap", "C", "C++", ]; $( "#automplete-1" ).autocomplete({
source: availableTutorials
});
});
</script>
</head>
<body>
<!-- HTML -->
<div class = "ui-widget">
<p>Type "a" or "s"</p>
<label for = "automplete-1">Tags: </label>
<input id = "automplete-1">
</div>
</body>
</html>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htmdan membukanya di browser standar yang mendukung javascript, Anda akan melihat output berikut. Sekarang, Anda bisa bermain dengan hasilnya -
Penggunaan fokus otomatis
Contoh berikut menunjukkan penggunaan opsi autoFocus di widget pelengkapan otomatis JqueryUI.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<!-- Javascript -->
<script>
$(function() { var availableTutorials = [ "ActionScript", "Bootstrap", "C", "C++", ]; $( "#automplete-2" ).autocomplete({
source: availableTutorials,
autoFocus:true
});
});
</script>
</head>
<body>
<!-- HTML -->
<div class = "ui-widget">
<p>Type "a" or "s"</p>
<label for = "automplete-2">Tags: </label>
<input id = "automplete-2">
</div>
</body>
</html>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htmdan membukanya di browser standar yang mendukung javascript, Anda juga harus melihat output berikut. Sekarang, Anda bisa bermain dengan hasilnya -
Penggunaan minLength dan delay
Contoh berikut menunjukkan penggunaan dua opsi minLength dan delay di widget pelengkapan otomatis JqueryUI.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<!-- Javascript -->
<script>
$(function() { var availableTutorials = [ "ActionScript", "Bootstrap", "C", "C++", "Ecommerce", "Jquery", "Groovy", "Java", "JavaScript", "Lua", "Perl", "Ruby", "Scala", "Swing", "XHTML" ]; $( "#automplete-3" ).autocomplete({
minLength:2,
delay:500,
source: availableTutorials
});
});
</script>
</head>
<body>
<!-- HTML -->
<div class = "ui-widget">
<p>Type two letter for e.g:ja,sc etc</p>
<label for = "automplete-3">Tags: </label>
<input id = "automplete-3">
</div>
</body>
</html>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htmdan membukanya di browser standar yang mendukung javascript, Anda juga harus melihat output berikut. Sekarang, Anda bisa bermain dengan hasilnya -
Penggunaan Label
Contoh berikut menunjukkan penggunaan opsi label di widget pelengkapan otomatis JqueryUI.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<!-- Javascript -->
<script>
$(function() { $( "#autocomplete-4" ).autocomplete({
source: [
{ label: "India", value: "IND" },
{ label: "Australia", value: "AUS" }
]
});
});
</script>
</head>
<body>
<!-- HTML -->
<div class = "ui-widget">
<p>Type I OR A</p>
<input id = "autocomplete-4">
</div>
</body>
</html>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htmdan membukanya di browser standar yang mendukung javascript, Anda juga harus melihat output berikut. Sekarang, Anda bisa bermain dengan hasilnya -
Penggunaan Sumber Eksternal
Contoh berikut menunjukkan penggunaan file eksternal untuk source opsi di widget pelengkapan otomatis JqueryUI.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<!-- Javascript -->
<script>
$(function() { $( "#autocomplete-5" ).autocomplete({
source: "/jqueryui/search.php",
minLength: 2
});
});
</script>
</head>
<body>
<input id = "autocomplete-5">
</body>
</html>
File search.php ditempatkan di lokasi yang sama dengan file di atas (autocompleteexample.html). Isi search.php adalah sebagai berikut -
<?
$term = $_GET[ "term" ];
$companies = array( array( "label" => "JAVA", "value" => "1" ), array( "label" => "DATA IMAGE PROCESSING", "value" => "2" ), array( "label" => "JAVASCRIPT", "value" => "3" ), array( "label" => "DATA MANAGEMENT SYSTEM", "value" => "4" ), array( "label" => "COMPUTER PROGRAMMING", "value" => "5" ), array( "label" => "SOFTWARE DEVELOPMENT LIFE CYCLE", "value" => "6" ), array( "label" => "LEARN COMPUTER FUNDAMENTALS", "value" => "7" ), array( "label" => "IMAGE PROCESSING USING JAVA", "value" => "8" ), array( "label" => "CLOUD COMPUTING", "value" => "9" ), array( "label" => "DATA MINING", "value" => "10" ), array( "label" => "DATA WAREHOUSE", "value" => "11" ), array( "label" => "E-COMMERCE", "value" => "12" ), array( "label" => "DBMS", "value" => "13" ), array( "label" => "HTTP", "value" => "14" ) ); $result = array();
foreach ($companies as $company) {
$companyLabel = $company[ "label" ];
if ( strpos( strtoupper($companyLabel), strtoupper($term) )!== false ) {
array_push( $result, $company );
}
}
echo json_encode( $result );
?>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htmdan membukanya di browser standar yang mendukung javascript, Anda juga harus melihat output berikut. Sekarang, Anda bisa bermain dengan hasilnya -
Ketikkan dua huruf kata untuk misalnya: ja, sc dll
$ (selector, context) .autocomplete ("action", params) Metode
Metode pelengkapan otomatis ("tindakan", params) dapat melakukan tindakan pada daftar saran, seperti tampilkan atau sembunyikan. Tindakan ditentukan sebagai String dalam argumen pertama (misalnya, "tutup" untuk menyembunyikan daftar). Simak tindakan yang bisa dilalui, di tabel berikut.
Sintaksis
$(selector, context).autocomplete ("action", params);;
Tabel berikut mencantumkan berbagai tindakan yang dapat digunakan dengan metode ini -
Sr.No. | Tindakan & Deskripsi |
---|---|
1 | Menutup Tindakan ini menyembunyikan daftar saran di menu Pelengkapan Otomatis. Metode ini tidak menerima argumen apa pun. Action - close Tindakan ini menyembunyikan daftar saran di menu Pelengkapan Otomatis. Metode ini tidak menerima argumen apa pun. Syntax
|
2 | menghancurkan Tindakan ini menghapus fungsionalitas pelengkapan otomatis. Daftar saran dihapus. Metode ini tidak menerima argumen apa pun. Action - destroy Tindakan ini menghapus fungsionalitas pelengkapan otomatis. Daftar saran dihapus. Metode ini tidak menerima argumen apa pun. Syntax
|
3 | nonaktifkan Tindakan ini menonaktifkan mekanisme pelengkapan otomatis. Daftar saran tidak lagi muncul. Metode ini tidak menerima argumen apa pun. Action - disable Tindakan ini menonaktifkan mekanisme pelengkapan otomatis. Daftar saran tidak lagi muncul. Metode ini tidak menerima argumen apa pun. Syntax
|
4 | memungkinkan Tindakan ini mengaktifkan kembali mekanisme pelengkapan otomatis. Daftar saran akan ditampilkan lagi. Metode ini tidak menerima argumen apa pun. Action - enable Tindakan ini mengaktifkan kembali mekanisme pelengkapan otomatis. Daftar saran akan ditampilkan lagi. Metode ini tidak menerima argumen apa pun. Syntax
|
5 | option (optionName) Tindakan ini mengambil nilai dari parameter yang ditentukan optionName . Opsi ini sesuai dengan salah satu yang digunakan dengan pelengkapan otomatis (opsi). Action - option( optionName ) Tindakan ini mengambil nilai dari parameter yang ditentukan optionName . Opsi ini sesuai dengan salah satu yang digunakan dengan pelengkapan otomatis (opsi). Syntax
|
6 | pilihan Tindakan ini mendapatkan objek yang berisi pasangan kunci / nilai yang mewakili hash opsi pelengkapan otomatis saat ini. Action - option Tindakan ini mendapatkan objek yang berisi pasangan kunci / nilai yang mewakili hash opsi pelengkapan otomatis saat ini. Syntax
|
7 | option (optionName, value) Tindakan ini menyetel nilai opsi pelengkapan otomatis yang terkait dengan optionName yang ditentukan . Argumen optionName adalah nama opsi yang akan disetel dan nilai adalah nilai yang akan disetel untuk opsi tersebut. Action - option( optionName, value ) Tindakan ini menyetel nilai opsi pelengkapan otomatis yang terkait dengan optionName yang ditentukan . Argumen optionName adalah nama opsi yang akan disetel dan nilai adalah nilai yang akan disetel untuk opsi tersebut. Syntax
|
8 | opsi (opsi) Tindakan ini menyetel satu atau beberapa opsi untuk pelengkapan otomatis. Opsi argumen adalah peta pasangan opsi-nilai yang akan disetel. Action - option( options ) Tindakan ini menyetel satu atau beberapa opsi untuk pelengkapan otomatis. Opsi argumen adalah peta pasangan opsi-nilai yang akan disetel. Syntax
|
9 | telusuri ([nilai]) Tindakan ini mencari korespondensi antara nilai string dan sumber data (ditentukan dalam options.source ). Jumlah minimum karakter (ditunjukkan dalam options.minLength ) harus dicapai nilainya, jika tidak pencarian tidak dilakukan. Action - search( [value ] ) Tindakan ini mencari korespondensi antara nilai string dan sumber data (ditentukan dalam options.source ). Jumlah minimum karakter (ditunjukkan dalam options.minLength ) harus dicapai nilainya, jika tidak pencarian tidak dilakukan. Syntax
|
10 | widget Ambil <ul> elemen DOM yang sesuai dengan daftar saran. Ini adalah objek kelas jQuery yang memungkinkan akses mudah ke daftar tanpa menggunakan selektor jQuery. Action - widget Ambil <ul> elemen DOM yang sesuai dengan daftar saran. Ini adalah objek kelas jQuery yang memungkinkan akses mudah ke daftar tanpa menggunakan selektor jQuery. Syntax
|
Contoh
Sekarang mari kita lihat contoh menggunakan tindakan dari tabel di atas. Contoh berikut menunjukkan penggunaan metode option (optionName, value) .
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<!-- Javascript -->
<script>
$(function() {
var availableTutorials = [
"ActionScript",
"Bootstrap",
"C",
"C++",
"Ecommerce",
"Jquery",
"Groovy",
"Java",
"JavaScript",
"Lua",
"Perl",
"Ruby",
"Scala",
"Swing",
"XHTML"
];
$( "#automplete-6" ).autocomplete({ source: availableTutorials }); $( "#automplete-6" ).autocomplete("option", "position",
{ my : "right-10 top+10", at: "right top" })
});
</script>
</head>
<body>
<!-- HTML -->
<div class = "ui-widget">
<p>Type "a" or "s"</p>
<label for = "automplete-6">Tags: </label>
<input id = "automplete-6">
</div>
</body>
</html>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htm dan membukanya di browser standar yang mendukung javascript, Anda juga harus melihat output berikut -
Poin Ekstensi
Widget pelengkapan otomatis dapat diperpanjang seperti yang dibuat dengan pabrik widget. Saat memperluas widget, Anda memiliki kemampuan untuk mengganti atau menambah perilaku metode yang ada. Tabel berikut mencantumkan metode yang bertindak sebagai titik ekstensi dengan stabilitas API yang sama seperti metode plugin yang tercantum di atas .
Sr.No. | Metode & Deskripsi |
---|---|
1 | _renderItem (ul, item) Metode ini mengontrol pembuatan setiap opsi di menu widget. Metode ini membuat elemen <li> baru, menambahkannya ke menu dan mengembalikannya. _renderItem( ul, item ) Metode ini mengontrol pembuatan setiap opsi di menu widget. Metode ini membuat elemen <li> baru, menambahkannya ke menu dan mengembalikannya. Dimana -
|
2 | _renderMenu (ul, item) Metode ini mengontrol pembuatan menu widget. _renderMenu( ul, items ) Metode ini mengontrol pembuatan menu widget. Dimana -
|
3 | _resizeMenu () Metode ini mengontrol ukuran menu sebelum ditampilkan. Elemen menu tersedia di this.menu.element . Metode ini tidak menerima argumen apa pun. _resizeMenu() Metode ini mengontrol ukuran menu sebelum ditampilkan. Elemen menu tersedia di this.menu.element . Metode ini tidak menerima argumen apa pun. |
Manajemen Acara di Elemen Pelengkapan Otomatis
Selain metode pelengkapan otomatis (opsi) yang kita lihat di bagian sebelumnya, JqueryUI menyediakan metode peristiwa yang dipicu untuk peristiwa tertentu. Metode acara ini tercantum di bawah -
Sr.No. | Metode & Deskripsi Acara |
---|---|
1 | ubah (acara, ui) Peristiwa ini dipicu ketika nilai elemen <input> diubah berdasarkan pilihan. Saat dipicu, peristiwa ini akan selalu datang setelah peristiwa penutupan dipicu. Event - change(event, ui) Peristiwa ini dipicu ketika nilai elemen <input> diubah berdasarkan pilihan. Saat dipicu, peristiwa ini akan selalu datang setelah peristiwa penutupan dipicu. Dimana event bertipe Event , dan UI bertipe Object . Nilai yang mungkin dari ui adalah -
Syntax
|
2 | tutup (acara, ui) Peristiwa ini dipicu setiap kali menu pelengkapan otomatis ditutup. Event - close(event, ui) Peristiwa ini dipicu setiap kali menu pelengkapan otomatis ditutup. Dimana event bertipe Event , dan UI bertipe Object . Syntax
|
3 | buat (acara, ui) Peristiwa ini dipicu saat pelengkapan otomatis dibuat. Event - create(event, ui) Peristiwa ini dipicu saat pelengkapan otomatis dibuat .. Di mana peristiwa berjenis Peristiwa , dan UI berjenis Objek . Nilai yang mungkin dari ui adalah -
Syntax
|
4 | fokus (acara, ui) Peristiwa ini dipicu setiap kali salah satu pilihan menu menerima fokus. Kecuali dibatalkan (misalnya, dengan mengembalikan false), nilai yang difokuskan disetel ke dalam elemen <input>. Event - focus(event, ui) Peristiwa ini dipicu setiap kali salah satu pilihan menu menerima fokus. Kecuali dibatalkan (misalnya, dengan mengembalikan false), nilai yang difokuskan disetel ke dalam elemen <input>. Dimana event bertipe Event , dan UI bertipe Object . Nilai yang mungkin dari ui adalah -
Syntax
|
5 | buka (acara, ui) Peristiwa ini dipicu setelah data disiapkan dan menu akan dibuka. Event - open(event, ui) Peristiwa ini dipicu setelah data disiapkan dan menu akan dibuka. Dimana event bertipe Event , dan UI bertipe Object . Syntax
|
6 | respon (acara, ui) Peristiwa ini dipicu setelah pencarian selesai, sebelum menu ditampilkan. Peristiwa ini selalu dipicu saat penelusuran selesai, meskipun menu tidak akan ditampilkan karena tidak ada hasil atau Pelengkapan Otomatis dinonaktifkan. Event - response(event, ui) Peristiwa ini dipicu setelah pencarian selesai, sebelum menu ditampilkan. Peristiwa ini selalu dipicu saat penelusuran selesai, meskipun menu tidak akan ditampilkan karena tidak ada hasil atau Pelengkapan Otomatis dinonaktifkan. Dimana event bertipe Event , dan UI bertipe Object . Nilai yang mungkin dari ui adalah -
Syntax
|
7 | pencarian (acara, ui) Peristiwa ini dipicu setelah penundaan dan kriteria minLength telah dipenuhi, tepat sebelum mekanisme yang ditentukan oleh sumber diaktifkan. Jika dibatalkan, operasi pencarian dibatalkan. Event - search(event, ui) Peristiwa ini dipicu setelah penundaan dan kriteria minLength telah dipenuhi, tepat sebelum mekanisme yang ditentukan oleh sumber diaktifkan. Jika dibatalkan, operasi pencarian dibatalkan. Dimana event bertipe Event , dan UI bertipe Object . Syntax
|
8 | pilih (acara, ui) Peristiwa ini dipicu ketika nilai dipilih dari menu pelengkapan otomatis. Membatalkan acara ini mencegah nilai ditetapkan ke dalam elemen <input> (tetapi tidak mencegah menu ditutup). Event - select(event, ui) Peristiwa ini dipicu ketika nilai dipilih dari menu pelengkapan otomatis. Membatalkan acara ini mencegah nilai ditetapkan ke dalam elemen <input> (tetapi tidak mencegah menu ditutup). Dimana event bertipe Event , dan UI bertipe Object . Nilai yang mungkin dari ui adalah -
Syntax
|
Contoh
Contoh berikut menunjukkan penggunaan metode acara di widget pelengkapan otomatis. Contoh ini menunjukkan penggunaan fokus acara , dan pilih .
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Autocomplete functionality</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#project-label {
display: block;
font-weight: bold;
margin-bottom: 1em;
}
#project-icon {
float: left;
height: 32px;
width: 32px;
}
#project-description {
margin: 0;
padding: 0;
}
</style>
<!-- Javascript -->
<script>
$(function() { var projects = [ { value: "java", label: "Java", desc: "write once run anywhere", }, { value: "jquery-ui", label: "jQuery UI", desc: "the official user interface library for jQuery", }, { value: "Bootstrap", label: "Twitter Bootstrap", desc: "popular front end frameworks ", } ]; $( "#project" ).autocomplete({
minLength: 0,
source: projects,
focus: function( event, ui ) {
$( "#project" ).val( ui.item.label ); return false; }, select: function( event, ui ) { $( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value ); $( "#project-description" ).html( ui.item.desc );
return false;
}
})
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
});
</script>
</head>
<body>
<div id = "project-label">Select a project (type "a" for a start):</div>
<input id = "project">
<input type = "hidden" id = "project-id">
<p id = "project-description"></p>
</body>
</html>
Mari kita simpan kode di atas dalam file HTML autocompleteexample.htmdan membukanya di browser standar yang mendukung javascript. Anda juga harus melihat keluaran berikut -