Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 106,798

HOME > ASP > ASP Forum > javascritp ตัวนี้นำไปใช้ เป็น list dropdown จังหวัด ผลลัพธ์คือเป็นการจัดเก็บเป็น PROVINCE_ID +AMPHUR_ID


 

javascritp ตัวนี้นำไปใช้ เป็น list dropdown จังหวัด ผลลัพธ์คือเป็นการจัดเก็บเป็น PROVINCE_ID +AMPHUR_ID

 



Topic : 130661



โพสกระทู้ ( 222 )
บทความ ( 0 )



สถานะออฟไลน์




javascritp ตัวนี้นำไปใช้ เป็น list dropdown จังหวัด+xml ผลลัพธ์คือเป็นการจัดเก็บเป็นPROVINCE_ID +AMPHUR_ID

อยากทราบว่าถ้าต้องการจัดเก็บให้เป็นAMPHUR_NAME+PROVINCE_NAME จะปรับสคิปตรงไหนครับ

Code (JavaScript)

/*
Author : Witoon Pomipon
Email : codebee2014@gmail.com
Website : codebee.co.th
Company : codebee company limited
*/

;(function( $ ){
	$.fn.AutoProvince = function( options ) {
		var Setting = $.extend( {
			PROVINCE:		'#province', // select div สำหรับรายชื่อจังหวัด
			AMPHUR:			'#amphur', // select div สำหรับรายชื่ออำเภอ
			DISTRICT:		'#district', // select div สำหรับรายชื่อตำบล
			POSTCODE:		'#postcode', // input field สำหรับรายชื่อรหัสไปรษณีย์
			arrangeByName:		false // กำหนดให้เรียงตามตัวอักษร
		}, options);
		
		return this.each(function() {
			var xml;
			var dataUrl = "thailand.xml";
			
			
			$(function() {
				initialize();
			});
			
			function initialize(){
				$.ajax({
					type: "GET",
					url: dataUrl,
					dataType: "xml",
					success: function(xmlDoc) {
						xml = $(xmlDoc);
						
						_loadProvince();
						addEventList();
					},
					error: function() {
						console.log("Failed to get xml");
					}
				});  
			}
			
			function _loadProvince()
			{
				var list = [];
				xml.find('table').each(function(index){
					if($(this).attr("name") == Setting.PROVINCE.split("#")[1]){
						var PROVINCE_ID = $(this).children().eq(0).text();
						var PROVINCE_NAME = $(this).children().eq(2).text();
						if(PROVINCE_ID)list.push({id:PROVINCE_ID,name:PROVINCE_NAME});
						
					}
				});
				if(Setting.arrangeByName){
					AddToView(list.sort(SortByName),Setting.PROVINCE);
				}else{
					AddToView(list,Setting.PROVINCE);
				}
			}
			
			function _loadAmphur(PROVINCE_ID_SELECTED)
			{
				var list = [];
				var isFirst = true;
				$(Setting.AMPHUR).empty();
				xml.find('table').each(function(index){
					if($(this).attr("name") == Setting.AMPHUR.split("#")[1]){
						var AMPHUR_ID = $(this).children().eq(0).text();
						var AMPHUR_NAME = $(this).children().eq(2).text();
						var POSTCODE = $(this).children().eq(3).text();
						var PROVINCE_ID = $(this).children().eq(5).text();
						if(PROVINCE_ID_SELECTED == PROVINCE_ID && AMPHUR_ID){
							if(isFirst)_loadDistrict(AMPHUR_ID);
							isFirst = false;
							list.push({id:AMPHUR_ID,name:AMPHUR_NAME,postcode:POSTCODE});
							$(Setting.POSTCODE).val(POSTCODE);
						}
					}
				});
				if(Setting.arrangeByName){
					AddToView(list.sort(SortByName),Setting.AMPHUR);
				}else{
					AddToView(list,Setting.AMPHUR);
				}
			}
			
			function _loadDistrict(AMPHUR_ID_SELECTED)
			{
				var list = [];
				$(Setting.DISTRICT).empty();
				xml.find('table').each(function(index){
					if($(this).attr("name") == Setting.DISTRICT.split("#")[1]){
						var DISTRICT_ID = $(this).children().eq(0).text();
						var DISTRICT_NAME = $(this).children().eq(2).text();
						var AMPHUR_ID = $(this).children().eq(3).text();
						if(AMPHUR_ID_SELECTED == AMPHUR_ID && DISTRICT_ID){
							list.push({id:DISTRICT_ID,name:DISTRICT_NAME});
						}
					}
				});
				if(Setting.arrangeByName){
					AddToView(list.sort(SortByName),Setting.DISTRICT);
				}else{
					AddToView(list,Setting.DISTRICT);
				}
			}
			
			function addEventList(){
				$(Setting.PROVINCE).change(function(e) {
					var PROVINCE_ID = $(this).val();
					_loadAmphur(PROVINCE_ID);
				});
				$(Setting.AMPHUR).change(function(e) {
					var AMPHUR_ID = $(this).val();
					$(Setting.POSTCODE).val($(this).find('option:selected').attr("POSTCODE"));
					_loadDistrict(AMPHUR_ID);
				});	
			}
			function AddToView(list,key){
				for (var i = 0;i<list.length;i++) {
					if(key != Setting.AMPHUR){
						$(key).append("<option value='"+list[i].id+"'>"+list[i].name+"</option>");	
					}else{
						$(key).append("<option value='"+list[i].id+"' POSTCODE='"+list[i].postcode+"'>"+list[i].name+"</option>");	
					}
				}
			}
			
			function SortByName(a, b){
			  var aName = a.name.toLowerCase();
			  var bName = b.name.toLowerCase(); 
			  return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));
			}
		});
	};
})( jQuery );





Tag : - - - -









ประวัติการแก้ไข
2018-03-24 16:47:46
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-03-24 10:47:39 By : sanwa View : 396 Reply : 1
 

 

No. 1



โพสกระทู้ ( 222 )
บทความ ( 0 )



สถานะออฟไลน์


hellowoorld






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-26 08:16:31 By : shiowa
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : javascritp ตัวนี้นำไปใช้ เป็น list dropdown จังหวัด ผลลัพธ์คือเป็นการจัดเก็บเป็น PROVINCE_ID +AMPHUR_ID
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, vps | เช่า vps , รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่