Tag Archive จังหวัด

Byphunsanit

form ที่อยู่ไทย

จากเรื่องที่แล้ว ฐานข้อมูลระดับจังหวัด อำเภอ ตำบล และ ใส่ฟิลเตอร์ให้ select box มาต่อด้วยการสร้างฟอร์ม ไปใช้ส่งข้อมูล

เป็นธรรมดาที่การกรอกข้อมูลส่วนตัว ประวัติต่างๆ อาจจะต้องการหลายที่อยู่ เช่น ที่อยู่ตามทะเบียนบ้าน ที่อยู่ปัจจุบัน ที่ทำงาน ถ้าต้องมากำหนดตัวกรองให้ select box ที่ละตัวก็เสียเวลา แก้ได้โดยเปลี่ยนไปใช้ class แทน id และใช้ attribute data- แทนแต่ละกลุ่ม และใช้ ajax ดึงข้อมูลมาทำ chained เวลาที่เปลี่ยนตัเลือกในตัวแม่ ให้ใช้เอแจ็กซ์ดึงข้อมูลที่เกี่ยวข้องมาแสดง update แทนตัวเลือก option ตัวลูกที่มีอยู่เดิม

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>AJAX jQuery.chosen By Pitt Phunsanit</title>
<link href="chosen/chosen.min.css" rel="stylesheet" type="text/css">
</head>
<body>
<fieldset>
    <legend>บ้าน</legend>
    <select name="home_province" class="areasProvince chosen-select" data-area="home" style="width:200px;">
        <option value="64">กระบี่</option>
        <option value="1">กรุงเทพมหานคร</option>
        <option value="56">กาญจนบุรี</option>
        <option value="34">กาฬสินธุ์</option>
        <option value="49">กำแพงเพชร</option>
        <option value="28">ขอนแก่น</option>
        <option value="13">จันทบุรี</option>
        <option value="15">ฉะเชิงเทรา</option>
        <option value="11">ชลบุรี</option>
        <option value="9">ชัยนาท</option>
        <option value="25">ชัยภูมิ</option>
        <option value="69">ชุมพร</option>
        <option value="45">เชียงราย</option>
        <option value="38">เชียงใหม่</option>
        <option value="72">ตรัง</option>
        <option value="14">ตราด</option>
        <option value="50">ตาก</option>
        <option value="17">นครนายก</option>
        <option value="58">นครปฐม</option>
        <option value="36">นครพนม</option>
        <option value="19">นครราชสีมา</option>
        <option value="63">นครศรีธรรมราช</option>
        <option value="47">นครสวรรค์</option>
        <option value="3">นนทบุรี</option>
        <option value="76">นราธิวาส</option>
        <option value="43">น่าน</option>
        <option value="77">บึงกาฬ</option>
        <option value="20">บุรีรัมย์</option>
        <option value="4">ปทุมธานี</option>
        <option value="62">ประจวบคีรีขันธ์</option>
        <option value="16">ปราจีนบุรี</option>
        <option value="74">ปัตตานี</option>
        <option value="5">พระนครศรีอยุธยา</option>
        <option value="44">พะเยา</option>
        <option value="65">พังงา</option>
        <option value="73">พัทลุง</option>
        <option value="53">พิจิตร</option>
        <option value="52">พิษณุโลก</option>
        <option value="61">เพชรบุรี</option>
        <option value="54">เพชรบูรณ์</option>
        <option value="42">แพร่</option>
        <option value="66">ภูเก็ต</option>
        <option value="32">มหาสารคาม</option>
        <option value="37">มุกดาหาร</option>
        <option value="46">แม่ฮ่องสอน</option>
        <option value="24">ยโสธร</option>
        <option value="75">ยะลา</option>
        <option value="33">ร้อยเอ็ด</option>
        <option value="68">ระนอง</option>
        <option value="12">ระยอง</option>
        <option value="55">ราชบุรี</option>
        <option value="7">ลพบุรี</option>
        <option value="40">ลำปาง</option>
        <option value="39">ลำพูน</option>
        <option value="30">เลย</option>
        <option value="22">ศรีสะเกษ</option>
        <option value="35">สกลนคร</option>
        <option value="70">สงขลา</option>
        <option value="71">สตูล</option>
        <option value="2">สมุทรปราการ</option>
        <option value="60">สมุทรสงคราม</option>
        <option value="59">สมุทรสาคร</option>
        <option value="18">สระแก้ว</option>
        <option value="10">สระบุรี</option>
        <option value="8">สิงห์บุรี</option>
        <option value="51">สุโขทัย</option>
        <option value="57">สุพรรณบุรี</option>
        <option value="67">สุราษฎร์ธานี</option>
        <option value="21">สุรินทร์</option>
        <option value="31">หนองคาย</option>
        <option value="27">หนองบัวลำภู</option>
        <option value="6">อ่างทอง</option>
        <option value="26">อำนาจเจริญ</option>
        <option value="29">อุดรธานี</option>
        <option value="41">อุตรดิตถ์</option>
        <option value="48">อุทัยธานี</option>
        <option value="23">อุบลราชธานี</option>
    </select>
    <select name="home_city" class="areasCity chosen-select" data-area="home" style="width:200px;">
    </select>
</fieldset>
<fieldset>
    <legend>ที่ทำงาน</legend>
    <select name="office_province" class="areasProvince chosen-select" data-area="office" style="width:200px;">
        <option value="64">กระบี่</option>
        <option value="1">กรุงเทพมหานคร</option>
        <option value="56">กาญจนบุรี</option>
        <option value="34">กาฬสินธุ์</option>
        <option value="49">กำแพงเพชร</option>
        <option value="28">ขอนแก่น</option>
        <option value="13">จันทบุรี</option>
        <option value="15">ฉะเชิงเทรา</option>
        <option value="11">ชลบุรี</option>
        <option value="9">ชัยนาท</option>
        <option value="25">ชัยภูมิ</option>
        <option value="69">ชุมพร</option>
        <option value="45">เชียงราย</option>
        <option value="38">เชียงใหม่</option>
        <option value="72">ตรัง</option>
        <option value="14">ตราด</option>
        <option value="50">ตาก</option>
        <option value="17">นครนายก</option>
        <option value="58">นครปฐม</option>
        <option value="36">นครพนม</option>
        <option value="19">นครราชสีมา</option>
        <option value="63">นครศรีธรรมราช</option>
        <option value="47">นครสวรรค์</option>
        <option value="3">นนทบุรี</option>
        <option value="76">นราธิวาส</option>
        <option value="43">น่าน</option>
        <option value="77">บึงกาฬ</option>
        <option value="20">บุรีรัมย์</option>
        <option value="4">ปทุมธานี</option>
        <option value="62">ประจวบคีรีขันธ์</option>
        <option value="16">ปราจีนบุรี</option>
        <option value="74">ปัตตานี</option>
        <option value="5">พระนครศรีอยุธยา</option>
        <option value="44">พะเยา</option>
        <option value="65">พังงา</option>
        <option value="73">พัทลุง</option>
        <option value="53">พิจิตร</option>
        <option value="52">พิษณุโลก</option>
        <option value="61">เพชรบุรี</option>
        <option value="54">เพชรบูรณ์</option>
        <option value="42">แพร่</option>
        <option value="66">ภูเก็ต</option>
        <option value="32">มหาสารคาม</option>
        <option value="37">มุกดาหาร</option>
        <option value="46">แม่ฮ่องสอน</option>
        <option value="24">ยโสธร</option>
        <option value="75">ยะลา</option>
        <option value="33">ร้อยเอ็ด</option>
        <option value="68">ระนอง</option>
        <option value="12">ระยอง</option>
        <option value="55">ราชบุรี</option>
        <option value="7">ลพบุรี</option>
        <option value="40">ลำปาง</option>
        <option value="39">ลำพูน</option>
        <option value="30">เลย</option>
        <option value="22">ศรีสะเกษ</option>
        <option value="35">สกลนคร</option>
        <option value="70">สงขลา</option>
        <option value="71">สตูล</option>
        <option value="2">สมุทรปราการ</option>
        <option value="60">สมุทรสงคราม</option>
        <option value="59">สมุทรสาคร</option>
        <option value="18">สระแก้ว</option>
        <option value="10">สระบุรี</option>
        <option value="8">สิงห์บุรี</option>
        <option value="51">สุโขทัย</option>
        <option value="57">สุพรรณบุรี</option>
        <option value="67">สุราษฎร์ธานี</option>
        <option value="21">สุรินทร์</option>
        <option value="31">หนองคาย</option>
        <option value="27">หนองบัวลำภู</option>
        <option value="6">อ่างทอง</option>
        <option value="26">อำนาจเจริญ</option>
        <option value="29">อุดรธานี</option>
        <option value="41">อุตรดิตถ์</option>
        <option value="48">อุทัยธานี</option>
        <option value="23">อุบลราชธานี</option>
    </select>
    <select name="office_city" class="areasCity chosen-select" data-area="office" style="width:200px;">
    </select>
</fieldset>
<script src="../jQuery/jquery-2.1.3.min.js"></script>
<script src="chosen/chosen.jquery.min.js"></script>
<script>
$(function(){
 
    /* select box filter */
    $('.chosen-select').chosen();
    $('.areasProvince').chosen().change(function(){
        child = $('.areasCity[data-area="'+$(this).data('area')+'"]');
        html = Array('<option value="">--Select--</option>');
        parent_id = $(this).val();
        if(parent_id == ''){
            child.html(html)
        }
        else
        {
            $.ajax({
                "cache" : true,
                "dataType" : "json",
                "success" : function(datas){
                    $.each(datas, function(key, item){
                        html.push('<option value="'+item.value+'">'+item.text+'</option>');
                    });
                    child.html(html);
                    child.trigger('chosen:updated');
                },
                "url" : "thailandJSON.php?subdivisions=amphur&parent_id="+parent_id
            });
        }
    });
 
})
</script>
</body>
</html>