在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:earthchie/jquery.Thailand.js开源软件地址:https://github.com/earthchie/jquery.Thailand.js开源编程语言:HTML 68.0%开源软件介绍:Demohttps://earthchie.github.io/jquery.Thailand.js/ jquery.Thailand.jsตัวช่วยกรอกที่อยู่ที่ดีที่สุดในไทย ไม่ต้องใช้ Server Side! อ่านแนวคิด และที่มาที่ไปได้ที่นี่ ระบบ Auto Complete ที่อยู่ไทย อย่างที่มันควรเป็น ต้องการปรับปรุงฐานข้อมูล?คุณสามารถปรับปรุงข้อมูลได้ที่ raw_database.json จากนั้นนำไฟล์ที่แก้ไขแล้ว ไป compact ให้มีขนาดเล็กลงเพื่อให้นำไปใช้กับ Libary ได้ที่ Database Tools 1.5.3.5Changelog
ปรับปรุงฐานข้อมูลตาม #29
1.5.3.4Changelog
1.5.3.3Changelog
1.5.3.2Changelog
1.5.3.1Changelog
1.5.3Changelog
อ่านทั้งหมดได้ที่ CHANGELOG.md Todo
วิธีใช้ในส่วนนี้จะเป็นวิธีใช้อย่างคร่าวๆ หากต้องการรายละเอียดเพิ่มเติม กรุณาอ่านหัวข้อถัดไป
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="https://earthchie.github.io/jquery.Thailand.js/jquery.Thailand.js/dependencies/JQL.min.js"></script>
<script type="text/javascript" src="https://earthchie.github.io/jquery.Thailand.js/jquery.Thailand.js/dependencies/typeahead.bundle.js"></script>
<link rel="stylesheet" href="https://earthchie.github.io/jquery.Thailand.js/jquery.Thailand.js/dist/jquery.Thailand.min.css">
<script type="text/javascript" src="https://earthchie.github.io/jquery.Thailand.js/jquery.Thailand.js/dist/jquery.Thailand.min.js"></script>
<input type="text" id="district">
<input type="text" id="amphoe">
<input type="text" id="province">
<input type="text" id="zipcode">
$.Thailand({
$district: $('#district'), // input ของตำบล
$amphoe: $('#amphoe'), // input ของอำเภอ
$province: $('#province'), // input ของจังหวัด
$zipcode: $('#zipcode'), // input ของรหัสไปรษณีย์
}); ใน version 1.5.3 เป็นต้นมา คุณไม่จำเป็นต้องระบุฐานข้อมูล ตัว lib จะทำการเรียกใช้ฐานข้อมูลจาก GitHub CDN ให้อัตโนมัติ วิธีใช้อย่างละเอียดเรามีทางเลือกของฐานข้อมูลให้อยู่ 2 ประเภท คือฐานข้อมูลแบบ ทั้งสองแบบมีความแตกต่างกันที่แค่ขนาดไฟล์เป็นหลัก ไฟล์ฐานข้อมูลที่เล็กกว่า ย่อมทำให้ user ใช้เวลารอน้อยลง นอกจากนี้การใช้ฐานข้อมูลแบบ zip จะมีข้อเสียเพิ่มเติมอีกเล็กน้อย ดังต่อไปนี้
จากภาพนี้จะเห็นได้ว่า หากเป็นฐานข้อมูลชนิด นอกจากนี้ หากพูดถึงเรื่องขนาด เรามาลองพิจารณาขนาดของฐานข้อมูลแบบ ขนาดของฐานข้อมูล
ผลลัพธ์อ้างอิงจากระบบ gzip ของ github page จะเห็นได้ว่าหากเปิด gzip เอาไว้ ขนาดข้อมูลจะเล็กลงมากๆ เราขอแนะนำให้คุณใช้ทางเลือกนี้เสมอหากเป็นไปได้
แต่หากคุณไม่สามารถเปิดใช้ gzip ได้จริงๆ คุณก็สามารถเลือกใช้ฐานข้อมูลแบบ
สรุปขนาดข้องมูล ตามประเภทของ Server
ตอนนี้คุณน่าจะตอบคำถามตัวเองได้แล้วว่าจะใช้ฐานข้อมูลประเภทไหน หากคุณเลือกใช้ฐานข้อมูลชนิด JSON
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="./jquery.Thailand.js/dependencies/JQL.min.js"></script>
<script type="text/javascript" src="./jquery.Thailand.js/dependencies/typeahead.bundle.js"></script>
<link rel="stylesheet" href="./jquery.Thailand.js/dist/jquery.Thailand.min.css">
<script type="text/javascript" src="./jquery.Thailand.js/dist/jquery.Thailand.min.js"></script>
<input type="text" id="district">
<input type="text" id="amphoe">
<input type="text" id="province">
<input type="text" id="zipcode">
$.Thailand({
database: './jquery.Thailand.js/database/db.json', // path หรือ url ไปยัง database
$district: $('#district'), // input ของตำบล
$amphoe: $('#amphoe'), // input ของอำเภอ
$province: $('#province'), // input ของจังหวัด
$zipcode: $('#zipcode'), // input ของรหัสไปรษณีย์
}); หรือใช้งาน $.Thailand.setup({
database: './jquery.Thailand.js/database/db.json'
});
// ไม่ต้องกำหนด path ของ database ซ้ำ
$.Thailand({
$search: $('#demo1 [name="search"]'),
onDataFill: function(data){
console.log(data)
}
});
// ไม่ต้องกำหนด path ของ database ซ้ำเช่นกัน
$.Thailand({
$search: $('#demo2 [name="search"]'),
onDataFill: function(data){
console.log(data)
}
}); หากคุณเลือกใช้ฐานข้อมูลชนิด ZIPใช้งานแทบจะเหมือนกับแบบ
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="./jquery.Thailand.js/dependencies/zip.js/zip.js"></script>
<script type="text/javascript" src="./jquery.Thailand.js/dependencies/JQL.min.js"></script>
<script type="text/javascript" src="./jquery.Thailand.js/dependencies/typeahead.bundle.js"></script>
<link rel="stylesheet" href="./jquery.Thailand.js/dist/jquery.Thailand.min.css">
<script type="text/javascript" src="./jquery.Thailand.js/dist/jquery.Thailand.min.js"></script>
<input type="text" id="district">
<input type="text" id="amphoe">
<input type="text" id="province">
<input type="text" id="zipcode">
$.Thailand({
database: './jquery.Thailand.js/database/db.zip', // ฐานข้อมูลเป็นไฟล์ zip
$district: $('#district'), // input ของตำบล
$amphoe: $('#amphoe'), // input ของอำเภอ
$province: $('#province'), // input ของจังหวัด
$zipcode: $('#zipcode'), // input ของรหัสไปรษณีย์
}); การใช้งานโหมดค้นหาโหมดค้นหาเป็นโหมดที่เพิ่มเข้ามาใหม่ในเวอร์ชัน 1.3.x ลักษณะของมันคือช่องกรอกข้อมูลที่รับ input มาจาก user แล้วนำไปค้นที่อยู่ให้ เมื่อ user ทำการเลือกที่อยู่แล้ว มันจะส่งข้อมูลทั้งหมดไปที่ callback $.Thailand({
$search: $('#search'), // input ของช่องค้นหา
onDataFill: function(data){ // callback เมื่อเกิดการ auto complete ขึ้น
console.log(data);
}
}); geodbgeodb คือฐานข้อมูลชนิดใหม่ โดยที่มีการเพิ่มข้อมูล Area Code เข้ามา สำหรับงานที่จำเป็นต้องใช้งานด้านแผนที่ #4 มีขนาดใหญ่กว่าฐานข้อมูลปกติเล็กน้อย สามารถสลับสับเปลี่ยนกับฐานข้อมูลปกติได้ทันที เปรียบเทียบขนาดของฐานข้อมูล
ชนิด |
ไฟล์ | ไม่มี gzip | เปิดใช้ gzip |
---|---|---|
db.json |
186.00 KB | 68.90 KB |
geodb.json |
242.00 KB | 91.20 KB |
ใหญ่ขึ้น | 56.00 KB | 22.30 KB |
zip
ไฟล์ | ไม่มี gzip |
---|---|
db.zip |
51.10 KB |
geodb.zip |
68.50 KB |
ใหญ่ขึ้น | 17.40 KB |
วิธีการใช้งาน สามารถทำได้ง่ายมาก เพียงเปลี่ยน url ของฐานข้อมูลไปเป็นแบบ geodb ก็เป็นอันเรียบร้อย
ตัวอย่าง
<input type="text" id="search">
<input type="text" id="district_code">
<input type="text" id="amphoe_code">
<input type="text" id="province_code">
$.Thailand({
// เปลี่ยนไปใช้ geodb แทน จะเป็น geodb.json หรือ geodb.zip ก็ได้
database: './jquery.Thailand.js/database/geodb.json',
$search: $('#search'),
$district_code: $('#district_code'),
$amphoe_code: $('#amphoe_code'),
$province_code: $('#province_code'),
onDataFill: function(data){
console.log(data);
/*
ผลลัพธ์ที่ได้
{
district: '',
district_code: '',
amphoe: '',
amphoe_code: '',
province: '',
province_code: '',
zipcode: ''
}
*/
}
});
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论