 |
สอบถามเรื่อง Ajax หน่อยครับ มี From หลายอัน แต่อยากเขียน script แค่ตัวเดียวน่ะครับ ส่งค่า array หรือ ยังไงดัครับ |
|
 |
|
|
 |
 |
|
ต้องลองเขียน ทุกเคส แล้วจับสิ่งที่เหมือน มาทำเป็น function
ลองทำบ่อยๆ ประสบการณ์สะสมมากๆ เราก็จะมี algorithm ในหัว
ต่อไปก็เขียน เป็น function ได้เอง ใหม่ๆ เรายังมองไม่เห็นภาพรวม สิ่งที่เหมือนกัน
ก็ต้องฝึกต้องทำบ่อยๆ ครับ
|
 |
 |
 |
 |
Date :
2018-01-16 15:10:54 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
การอ้างอิงด้วย ID เมื่อชื่อเหมือนกันหลายอัน ต้องมี parent tag คลุมอีกที่ เปลี่ยนไปใช้ class และ data property ในการกำหนดข้อมูล
แทน tag hidden เพราะ คุณไม่ได้ส่ง form action แต่ส่งเป็น ajax
ตัวอย่าง
Code (PHP)
<?php
$ar = array(
array( 'article_id'=>1, 'slc'=>1),
array( 'article_id'=>2, 'slc'=>2),
array( 'article_id'=>3, 'slc'=>3),
);
foreach($ar as $ro){ ?>
<form class="ChangeCategory" >
<select class="form-control category" data-article="<?=$ro['article_id']?>">
<option value="1" <?=($ro['slc'==1? 'selected' : '')?> >บทความ</option>
<option value="2" <?=($ro['slc'==2? 'selected' : '')?>>ข่าวสาร</option>
<option value="3" <?=($ro['slc'==3? 'selected' : '')?>>- กิจกรรม</option>
</select>
</form>
<?php
}
?>
<script>
$(document).ready(function(){
$(".category").change(function(){
var ob=$(this);
$.ajax({ url: "AjaxSave.php", type: 'POST', data: {
category_id : ob.val(),
article_id : ob.data('article_id')
}).done((result)=>{
$("#txtHint").html(result);
});
});
});
</script>
|
 |
 |
 |
 |
Date :
2018-01-16 17:51:58 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|