|
|
|
การ Show-hide อิลีเม้นท์ เฉพาะ id แยกจากกัน โดยใช้ jQuery อยากให้ p กลับมาเฉพาะ id Checkbox นั้นๆ |
|
|
|
|
|
|
|
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
html{width:860px;}
p {
color: #E864CB;
font-size:18px;
letter-spacing: -1px;
background: rgb(0, 0, 0);
background: rgba(0, 0, 0,0.7);
padding: 10px 10px;
position: relative;
top:-200px;
left: 35px;
width: 100px;
height: 100px;
z-index: 999;
}
</style>
<script>
jQuery(function($) {
$('form').on('click','#All',function(){
$(':checkbox').each(function(index, element) {
$(this).fadeIn();
$(this).prop('checked',true);
$('p').fadeIn();
});
});
$('form').on('click','#UnAll',function(){
$(':checkbox').each(function(index, element) {
$(this).fadeIn();
$(this).prop('checked',false);
$('p').fadeOut();
});
});
$('form').on('click',':checkbox',function(){
var id=$(this).attr('rel');
if($(this).prop('checked') == true){
$('p[rel='+id+']').fadeIn();
}else{
$('p[rel='+id+']').fadeOut();
}
});
});
</script>
</head>
<BODY style="width:860px">
<form action="index.php" method="post" name="data_table" id="data_table">
<button id="All" type="button">All</button>
<button id="UnAll" type="button">UnAll</button>
<br><br>
<div>
<input type="checkbox" value="" name="data1" id="data1" rel="1" checked>
<img src="" title="รูปที่1" width="200" height="200" style="border: 1px solid #ccc; padding: 5px;">
<p id="p1" rel="1"> test1 </p> <!--เพิ่ม id="p1" -->
</div>
<div>
<input type="checkbox" value="" name="data2" id="data2" rel="2" checked>
<img src="" title="รูปที่2" width="200" height="200" style="border: 1px solid #ccc; padding: 5px;">
<p id="p2" rel="2"> test2 </p> <!--เพิ่ม id="p2" -->
</div>
</form>
</body>
</html>
แนะนำ
1. ในการ Loop All ทุกครั้งแนะนำให้ใช้ .each จะเหมาะสมกว่า for ครับ ซึ่งเป็น Future ของ jQuery อยู่แล้ว
2. ระหว่าง $("#uncheck_all").click(function() { และ $('#body').on('click',':checkbox',function(){ จะทำงานได้ดีกว่ากับ attr อนาคตที่จะเกิดขึ้น
3. inputs[i].getAttribute("type") แนะนำให้ใช้เป็น prop เพราะอาจเกิดปัญหาในการตอบสนองในการ load page ได้;
|
ประวัติการแก้ไข 2014-07-28 16:32:31 2014-07-28 16:39:00 2014-07-28 16:48:08
|
|
|
|
Date :
2014-07-28 16:28:20 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปิดคอร์ส อบรมไหม พี่จะไปลงเรียนทันที ..... สุดยอดจริง ๆ ครับ.....ขอบพระคุณ ๆ
วิธีแก้ที่คิด ลองทำ และทำได้
ผมใช้ php เข้าไปปะปนใน jQuery ไม่รู้ว่าดี ถูก/ผิด เช่นไร แต่คิดเองน่าจะไม่ผิดเพราะทำงานได้ แต่ผิดหลักการเขียน Code แน่ ๆ
เอามาให้วิจารณ์กันครับ
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
html{width:860px;}
p {
color: #E864CB;
font-size:18px;
letter-spacing: -1px;
background: rgb(0, 0, 0);
background: rgba(0, 0, 0,0.7);
padding: 10px 10px;
position: relative;
top:-200px;
left: 35px;
width: 100px;
height: 100px;
z-index: 999;
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
jQuery(function($) {
$("form a[id='check_all']").click(function() { // triggred check
var inputs = $("form input[type='checkbox']"); // get the checkbox
for(var i = 0; i < inputs.length; i++) { // count input tag in the form
var type = inputs[i].getAttribute("type"); // get the type attribute
if(type == "checkbox") {
$( "div[id='show_chk'" ).hide();
inputs[i].checked = true; // checked
$( "p" ).hide( "FadeOut" );
$( "div[id='show_button'" ).show( "FadeIn" );
} else {
inputs[i].checked = false; // unchecked
$( "p" ).show( "FadeIn" );
$( "div[id='show_button'" ).hide( "FadeOut" );
}
}
});
$("#uncheck_all").click(function() {
var inputs = $("form input[type='checkbox']"); // get the checkbox
for(var i = 0; i < inputs.length; i++) { // count input tag in the form
var type = inputs[i].getAttribute("type"); // get the type attribute
if(type == "checkbox") {
if(this.checked) {
} else {
inputs[i].checked = false;
$( "div[id='show_chk'" ).show();
$( "p" ).show( "FadeIn" );
$( "div[id='show_button'" ).hide();
}
}
}
});
// คิดและลองทำแบบนี้เล่นจริง ๆ ถ้าหาทางไม่ได้ก็จะใช้แบบนี้ แต่ถ้าแค่ 10 record - code ก็บานแล้ว (- - ")
<?php
for( $i =1; $i < 3; $i++) {
?>
$("form input[id='data<?php echo $i; ?>']").change(function() {
if (this.checked) {
alert("22222");
$( "#p<?php echo $i; ?>" ).hide( "FadeIn" );
} else {
alert("1111111");
$( "div[id='show_chk'" ).show();
$( "div[id='show_button'" ).hide();
$( "#p<?php echo $i; ?>" ).show( "FadeIn" );
}
});
<?php
}
?>
});
</script>
</head>
<BODY style="width:860px">
<form action="index.php" method="post" name="data_table" id="data_table">
<div id="show_chk">
<a id="check_all" href="#"> เลือกทั้งหมด</a>
</div>
<div id="show_button" style="display:none">
<a id="uncheck_all" href="#">ยกเลิกทั้งหมด</a>
</div>
<br><br>
<?php
for( $j =1; $j <3; $j++) {
?>
<input type="checkbox" value="" name="data<?php echo $j; ?>" id="data<?php echo $j; ?>">
<img src="" title="รูปที่<?php echo $j; ?>" width="200" height="200" style="border: 1px solid #ccc; padding: 5px;" id="pic<?php echo $i; ?>">
<p id="p<?php echo $j; ?>"> test<?php echo $j; ?> </p>
<?php
}
?>
</form>
</body>
</html>
|
|
|
|
|
Date :
2014-07-28 17:20:34 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2014-07-28 17:54:00 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แหมมมม... คุยกันแค่สองคน ไม่ชวนกันเลยน่ะ
|
|
|
|
|
Date :
2014-07-28 22:37:48 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
javascript PHP CSS ยังพอถู ๆ ไถ ๆ ไปได้ แต่ jQuery ยังมองให้สั้น ๆ ไม่ออกเจง ๆ ฮ่าๆๆๆ
|
|
|
|
|
Date :
2014-07-29 09:44:18 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้เริ่มไปจับ NodeJS กับ Python ครับ กำลังสนุกเลย
|
|
|
|
|
Date :
2014-07-29 14:10:25 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ยูก็เก่งมากแล้ววว ส่วนของพี่มันจำเป็นอ่ะ ต้องมานั่งเขียนหาตังค์กินข้าว
ช่วงนี้ว่างเหรอ.. เห็นมาช่วยหลายกระทง เลย....
|
ประวัติการแก้ไข 2014-07-29 14:46:55
|
|
|
|
Date :
2014-07-29 14:45:07 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มึนครับ .net เรามาสายนี้ จะหันกลับไปลากออปเจ็คมาวาง แล้วแทรกโค้ด ก็ไม่ไหว ไม่ใช่มือไม่ถึงน่ะ
แต่จะงงกับเครื่องมือซะมากกว่า ต้องปรับกระบวนการเรียนรู้ใหม่ มันอยู่ต่างขั้วครับ
|
|
|
|
|
Date :
2014-07-29 15:19:18 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในประเทศไทยพี่ว่า ฟรีแลนซ์ส่วนใหญ่ยังคงเขียนแบบ procedural ธรรมดา
แต่ในบริษัทซอฟแวร์เฮ้าส์ทั่วไปคงใช้เฟรมเวิร์ค เพราะควบคุมง่าย เหมาะแก่การทำงานเป็นทีมครับ
|
|
|
|
|
Date :
2014-07-29 15:30:25 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในประเทศไทยพี่ว่า ฟรีแลนซ์ส่วนใหญ่ยังคงเขียนแบบ procedural ธรรมดา เพราะต้องรีบให้จบงานเร็วที่สุด และไม่มีเงินมาเรียนเพิ่มเติม
อาศัยแค่ความรู้พื้นฐานก็พอเพียงที่จะหาเงินเลี้ยงชีพได้ ยกเว้นว่าจะยกระดับการเรียนในมหาวิทยาลัย หลักสูตรแบบพื้นๆ มันไม่เพียงพออีกต่อไป ต้องอัดพวกเฟรมเวิร์ดเข้าไปด้วย
แต่ในบริษัทซอฟแวร์เฮ้าส์ทั่วไปจำเป็นต้องใช้เฟรมเวิร์ค เพราะควบคุมง่าย เหมาะแก่การทำงานเป็นทีม มีงบเพื่อส่งพนักงานอบรม
และลูกค้าต่างประเทศมักจะเชื่อมั่นซอฟท์แวร์ที่เขียนขึ้นจากเฟรมเวิร์คมากกว่า
|
|
|
|
|
Date :
2014-07-29 15:41:16 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2014-08-01 08:43:36 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เค้าสองคนนั้นคุยอะไรกัน อยากรู้เรื่องมั่ง
|
|
|
|
|
Date :
2014-08-01 09:17:41 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|