เลือกข้อมูลใน form select แล้ว ให้ select ข้อมูลโดย where จาก value ของ form select แล้วนำไปแสดงใน select ข้างๆ ต้องทำยังไงหรอครับ
รบกวนหน่อยครับ กรณีถ้าเลิกแล้วตัวเว็ยมันจะรีเฟรชไหมเอ่ย ครับ ขอบคุณครับ
Date :
2017-09-09 13:00:19
By :
PACKLpk
ตอบความคิดเห็นที่ : 1 เขียนโดย : chaynuwong เมื่อวันที่ 2017-09-09 04:02:45
รายละเอียดของการตอบ ::
ขอถามต่อหน่อยครับถ้าผมเขียน แบบ codeigniter เขียนแบบนี้ถูกไหมครับ
คือ select ตามที่เรา set ไว้มันต้องเป็น ---เลือกประเภทสินค้า--- // กับ ---สินค้า---
ผมต้องแก้ตรงไหนเพิ่มครับ
//ไฟล์ ajax.php
Code (PHP)
// JavaScript Document
$(document).ready(function(){
// ส่วนของจังหวัดเมื่อมีการเปลี่ยนแปลง
$("#prodcut_cate").change(function(){ //id=cate อ้างอิงจาก id ที่กำหนดใน form
//$("#pro").empty();//ล้างข้อมูล id=pro อ้างอิงจาก id ที่กำหนดใน form
$.ajax({
url: "product/selectproduct",//ที่อยู่ของไฟล์เป้าหมาย (รอการแก้ไข)
global: false,
type: "POST",//รูปแบบข้อมูลที่จะส่ง
data: ({ID : $(this).val(),TYPE : "prodcut"}), //ข้อมูลที่ส่ง { ชื่อตัวแปร : ค่าตัวแปร }
dataType: "JSON", //รูปแบบข้อมูลที่ส่งกลับ xml,script,json,jsonp,text
async:false,
success: function(jd) { //แสดงข้อมูลเมื่อทำงานเสร็จ โดยใช้ each ของ jQuery
var opt="<option value=\"0\" selected=\"selected\">---สินค้า---</option>";
$.each(jd, function(key, val){
opt +="<option value='"+ val["product_id"] +"'>"+val["product_name"]+"</option>"
});
$("#prodcut").html( opt );//เพิ่มค่าลงใน Select ของ product
}
});
});
//ส่วนของ function เพื่อเพิ่มข้อมูลประเภทสินค้าข้าไปก่อน
function Add(){
$.ajax({
url: "product/selectproduct",
global: false,
type: "POST",
data: ({TYPE : "prodcut_cate"}),
dataType: "JSON",
async:false,
success: function(jd) {
var opt="<option value=\"0\" selected=\"selected\">---เลือกประเภทสินค้า---</option>";
$.each(jd, function(key, val){
opt +="<option value='"+ val["cate_id"] +"'>"+val["cate_name"]+"</option>"
});
$("#prodcut_cate").html( opt );
}
});
}
Code (PHP)
//ไฟล์ product ใน controller
public function selectproduct(){
$id=$this->input->post("ID");
$type=$this->input->post("TYPE");
if($type=='product'){
$product=$this->db->get('product');
$data['product']=$product->result->array();
}else if($type=='product_cate'){
$cate=$this->db->get('categories');
$data['cate']=$cate->result->array();
}
$this->load->view("seller",$data);
}
//ส่วนของ view
Code (PHP)
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="<?echo jquery_asset('jquery-3.2.1.min.js')?>"></script>
<script type="text/javascript" src="<?echo jquery_asset('ajax.js')?>"></script>
</head>
<body onload="Add();">
<?php
echo "ชื่อลูกค้า : <select name='cus_name'>";
foreach($customer as $cus){
echo "<option value=",$cus['cus_id'],">",$cus['cus_name'],"</option>";
}
echo "</select>";
echo "<p>สถานะ : ",$cus['cus_type']," ".anchor("test","เพิ่มข้อมูลลูกค้า")."</p><hr>";
echo "ขายใหม่ <select name='prodcut_cate' id='prodcut_cate'>";
foreach($categories as $cate){
echo "<option value=",$cate['cate_id'],">",$cate['cate_name'],"</option>";
}
echo "</select>   ";
echo "<select name='prodcut' id='prodcut'>";
foreach($product as $pro){
echo "<option value=",$pro['product_id'],">",$pro['product_name'],"</option>";
}
echo "<select>   ";
//echo "<input type='text' name='sellproduct' placeholder='เลือกสินค้า'>";*/
?>
</body>
</html>
ปล.ผมไม่ได้ทำในส่วน mysql2json.class.php จะมีผลกระทบอะไรไหมครับ
ประวัติการแก้ไข 2017-09-10 00:59:12 2017-09-10 00:59:37
Date :
2017-09-10 00:46:53
By :
1462072250555767
Load balance : Server 02