|
|
|
สอบถาม การเพิ่ม ลบ แถว ในตาราง รายการข้อมูล ด้วย jQuery ครับ |
|
|
|
|
|
|
|
เอาโค๊ดที่มันตรงกับภาษาครอบสิครับ จะได้อ่านง่าย ดู tag ก็ง่าย แบบนี้มึน
จะเป็นโปรแกรมเมอร์ แต่ไม่ช่างสังเกตจะไปรอดไหมครับเนี่ย
( อุตส่าห์คลิก ครอบทั้งทีก็น่าจะดูอันอื่นๆด้วยนะครับ)
|
|
|
|
|
Date :
2016-06-08 11:53:24 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$("#myTbl div:last").remove();
มันจะมองหา div ตัวสุดท้ายที่อยู่ภายใต้ ไอดี myTbl ซึ่งมันก็จะลบ สาขา -> เวลาสิ้นสุด -> เวลาเริ่มต้นมาเรื่อย เมื่อคลิก ไล่มาเรื่อย
หากอยากลบทั้งแถว ไหน ๆ ก็โคลนมาละ
Code (PHP)
$("#firstTr:last").remove();
อย่างนี้เลยครับ
|
|
|
|
|
Date :
2016-06-08 12:19:05 |
By :
WiTT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ID เป็น unique ห้ามซ้ำกัน
เปลี่ยน id="datetimepicker1"
เป็น class="datetimepicker"
Code (PHP)
<div class="input-group date" class="datetimepicker">
$('.datetimepicker').datetimepicker({
locale: 'th',
format: "DD-MM-YYYY"
});
ตอน clone สั่งให้ datepicker ทำงานอีกรอบ
หลักจาก jquery clone แล้วเพิ่มอีกรอบ
Code (JavaScript)
$('.datetimepicker').datetimepicker({
locale: 'th',
format: "DD-MM-YYYY"
});
|
|
|
|
|
Date :
2016-06-08 13:33:12 |
By :
fossil31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีโค๊ดให้ลองศึกษาเรื่อง tag และ คลาส
css nth-child เฉพาะ element ที่มี name หรือ class หรือ tagname เหมือนกัน ภายใน parent เดียวกัน
โค๊ด $('#myTb>div') เครืองหมาย > เป็นการบอกว่าเอาเฉพาะชั้นลูก
$('#myTb>div>div') อ้างอิงชั้นหลาน ไม่เอาชั้นลูก
$('#myTb div') ถ้าเป็น วรรค จะอ้างอิงจาก ลูกหลาน ทั้งหมด
ส่วน ID ถ้าอยู่ภายใต้ tag เดียวกัน จะทำงานแค่อันแรก เสมอ ถ้าไม่ชำนาญในการอ้างอิงตามลำดับชั้น เลี่ยงการ อ้างอิง ID
Code (PHP)
<?php
if(isset($_REQUEST['xdata'])){
print_r($_REQUEST['xdata']); exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Sample div clonning & css nth-child</title>
<meta charset="utf-8">
<style>
input{width: 95%; border: 1px solid yellow; color: yellow; background-color: transparent; }
#myTb>div{ padding: 3px 20px 20px 3px; height: auto; vertical-align: middle; }
#myTb>div:nth-child(even){ background-color:#EEa;padding: 3px 20px 20px 3px;}
#myTb>div:nth-child(odd){ background-color:#EEE;padding: 3px 20px 20px 3px;}
#myTb>div>div{ background-color:#343434; display:inline-block; height: 22px; width: 100px; cursor: pointer; text-align: center;}
#myTb>div>div:nth-child(1){ width: 120px;}
#myTb>div>div:nth-child(2){ color:#F0F;}
#myTb>div>div:nth-child(3){ color: #0FF;}
#myTb>div>div:nth-child(4){ color: #FF0;}
select{width: 95%; border: 1px solid darkblue; background-color: transparent; color: white; }
</style>
<script src="js/jquery-2.1.1.min.js"></script>
<script>
$(document).ready(function(){
$("#addRow").click(function(){
$("#myTb").append($("#myTb>div:first").clone());
$("#myTb>div:last").slideDown(500);
});
$("#removeRow").click(function(){
if($("#myTb>div").size()>1){
$("#myTb>div:last").remove();
}
});
$('#post').click(function(){
var main_data = new Array();
var record = $('#myTb>div'), ln = $(record).size()
for (var idx=1; idx<ln; idx++){
var ele = $(record).eq(idx);
var sub_data = {
slc: $(ele).find('select').eq(0).val(),
div1: $(ele).find('div').eq(1).html(),
div2: $(ele).find('div').eq(2).html(),
div3: $(ele).find('div').eq(3).html()
};
main_data[main_data.length]=sub_data;
};
$.ajax({ type: 'POST', data: {xdata: main_data} }).done(function(msg){
$('#result').html(msg);
});
})
}).delegate('#myTb>div>div', 'dblclick', function(){
if(!$(this).is(':first-child')){
$(this).html('<input type="text" value="'+$(this).html()+'">').find('input').eq(0).focus();
}
}).delegate('input', 'change', function(){
$(this).parent().html($(this).val());
}).delegate('input', 'focusout',function(){
$(this).change();
});
</script>
</head>
<body>
<button id="addRow">+</button><button id="removeRow">-</button><button id="post">Post</button>
<div id="myTb" style="background-color:#aDD; padding: 20px 20px 20px 20px;">
<div data-xyz="xyz" style="display: none;">
<div>
<select >
<option value="">Please Select</option>
<option value=1 >name 1</option>
<option value=2 >name 2</option>
<option value=3 >name 3</option>
<option value=4 >name 4</option>
</select>
</div>
<div title="Doubleclick เพื่อใส่ข้อมูล">-</div>
<div title="Doubleclick เพื่อใส่ข้อมูล">-</div>
<div title="Doubleclick เพื่อใส่ข้อมูล">-</div>
</div>
</div>
<div><pre id="result"></pre></div>
</body>
</html>
|
ประวัติการแก้ไข 2016-06-08 16:24:18
|
|
|
|
Date :
2016-06-08 16:21:42 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|