php checkbox 2 ชั้น หากเลือก checkbox ชั้นที่ 1 แล้วเอาออก checkbox ชั้นที่ 2 ยัง check อยู่ไม่ยอม uncheck
หมายถึงระหว่างที่เลือกมันไม่เปลี่ยนตามที่ต้องการ หรือว่า หลังจากที่ submit form แล้ว มันเก็บค่าเก่าที่เคยเลือกไว้ครับ ถามให้เคลียร์
Date :
2014-02-26 17:26:53
By :
PlaKriM
ต้องเอาโค้ดส่วนที่เป็น javascript มาดูครับ
Date :
2014-02-26 22:17:23
By :
sakuraei
ระหว่างที่เลือกมันไม่เปลี่ยนตามที่ต้องการคะ และหลัง submit form ก็เก็บค่าเก่าไว้ด้วยคะ
ส่วน javascript ยังไม่ได้เขียนคะ
Date :
2014-02-28 09:19:20
By :
aobmi
ลอง Apply ดูครับ
Code (PHP)
<pre>
<input type="checkbox" id="All">All
<input type="checkbox" id="Car">Car
<input type="checkbox" rel="Car" value="Ferrari">Ferrari
<input type="checkbox" rel="Car" value="Lamborghini">Lamborghini
<input type="checkbox" id="Motorcycle">Motercycle
<input type="checkbox" rel="Motorcycle" value="Ducati">Ducati
<input type="checkbox" rel="Motorcycle" value="Vespa">Vespa
</pre>
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script>
$(function(){
$('#All').click(function(){
if($(this).prop('checked')){
$('input[type=checkbox]').each(function(index, element) {
$(this).prop('checked',true);
});
}else{
$('input[type=checkbox]').each(function(index, element) {
$(this).prop('checked',false);
});
}
});
$('#Car').click(function(){
if($(this).prop('checked')){
$('input[rel=Car]').each(function(index, element) {
$(this).prop('checked',true);
});
}else{
$('input[rel=Car]').each(function(index, element) {
$(this).prop('checked',false);
});
}
});
$('#Motorcycle').click(function(){
if($(this).prop('checked')){
$('input[rel=Motorcycle]').each(function(index, element) {
$(this).prop('checked',true);
});
}else{
$('input[rel=Motorcycle]').each(function(index, element) {
$(this).prop('checked',false);
});
}
});
});
</script>
Date :
2014-02-28 12:12:54
By :
Ex-[S]i[L]e[N]t
ทำได้แล้วคะ
ขอบคุณมากกกกกกกกกคะ
Date :
2014-02-28 13:13:27
By :
aobmi
ตอนนี้ผมรู้แล้วว่า Jquery คือปัจจัยที่ 5 สำหรับงานโปรแกรมมิ่ง
ตัวอย่างด้านล่างนี้ผมเอามาจาก http://tech.tiffanyandjeremy.com
***** Jquery >= 1.6 attr <> prop
Code (PHP)
<html>
<head>
<title></title>
<script src="../../Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
<style type="text/css">
.parentCheckBox
{
margin-left:14px;
}
.childCheckBox
{
margin-left:44px;
}
</style>
<script type="text/javascript">
$(document).ready(function () {
//clicking the parent checkbox should check or uncheck all child checkboxes
$(".parentCheckBox").click(function () {
$(this).parents('div:eq(0)').find('.childCheckBox').prop('checked', this.checked);
});
//clicking the last unchecked or checked checkbox should check or uncheck the parent checkbox
$('.childCheckBox').click(function () {
if ($(this).parents('div:eq(0)').find('.parentCheckBox').prop('checked') == true && this.checked == false)
$(this).parents('div:eq(0)').find('.parentCheckBox').prop('checked', false);
if (this.checked == true) {
var flag = true;
$(this).parents('div:eq(0)').find('.childCheckBox').each(
function () {
if (this.checked == false)
flag = false;
});
$(this).parents('div:eq(0)').find('.parentCheckBox').prop('checked', flag);
}
});
});
</script>
</head>
<body>
<form id="form1">
<h3>Two-level jquery check all script</h3>
<p>by Jeremy Biros - For this and more code, checkout my technical blog at
<a href="http://tech.tiffanyandjeremy.com">http://tech.tiffanyandjeremy.com</a></p>
<p>1. Checking a parent will check or uncheck all children.</p>
<p>2. Checking or unchecking the last child will check or uncheck the parent.</p>
<div>
<input type="checkbox" class="parentCheckBox" />Parent 1<br />
<input type="checkbox" class="childCheckBox" />Child 1-1<br />
<input type="checkbox" class="childCheckBox" />Child 1-2<br />
<input type="checkbox" class="childCheckBox" />Child 1-3<br />
<input type="checkbox" class="childCheckBox" />Child 1-4<br />
<input type="checkbox" class="childCheckBox" />Child 1-5<br />
</div>
<div>
<input type="checkbox" class="parentCheckBox" />Parent 2<br />
<input type="checkbox" class="childCheckBox" />Child 2-1<br />
<input type="checkbox" class="childCheckBox" />Child 2-2<br />
<input type="checkbox" class="childCheckBox" />Child 2-3<br />
<input type="checkbox" class="childCheckBox" />Child 2-4<br />
<input type="checkbox" class="childCheckBox" />Child 2-5<br />
</div>
</form>
</body>
</html>
Date :
2014-03-03 06:29:31
By :
love9713
จาก #NO 12 มันแค่ 2 ชั้น แต่ความต้องการของมนุษย์ไม่มีวันสิ้นสุด
ทดสอบพลังสมอง ผมต้องการ N Level (ไม่จำกัดระดับชั้น) ต้องเขียนอย่างไร?
Date :
2014-03-03 09:37:54
By :
love9713
Source Code ด้านล่างนี้ผมจะประยุกต์ ตอบโจทย์ความต้องการของ #NO 13 เรียนรู้ Jquery ไร้ตำราเรียน
Code (VB.NET)
Imports ESRI.ArcGIS.ADF
Imports ESRI.ArcGIS.ADF.Web.UI
Imports ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer
Public Class misBasicData
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
'btnCheckPostBack.Attributes.CssStyle("visibility") = "hidden"
'Bug ASP.NET TreeView --> Event CheckNodeChange is'not Fire
'Fire Event CheckBox Click
trvMnu.Attributes.Add("onclick", String.Format("document.getElementById('{0}').click();", btnCheckPostBack.ClientID))
End Sub
Private Sub trvMnu_TreeNodeCheckChanged(sender As Object, e As TreeNodeEventArgs) Handles trvMnu.TreeNodeCheckChanged
Call SetChildrenCheck(e.Node, e.Node.Checked)
If e.Node.ChildNodes.Count = 0 Then
If e.Node.Parent IsNot Nothing Then
Dim tn As TreeNode = e.Node.Parent
Dim c1 As Integer = 0
For Each n As TreeNode In tn.ChildNodes
If n.Checked Then
c1 = 1
e.Node.Parent.Checked = True
Exit For
End If
Next
If c1 = 0 Then
e.Node.Parent.Checked = False
End If
End If
End If
End Sub
Private Sub SetChildrenCheck(ByVal parentNode As TreeNode, ByVal isChecked As Boolean)
parentNode.Checked = isChecked
For Each child As TreeNode In parentNode.ChildNodes
SetChildrenCheck(child, isChecked, isSelected)
Next
End Sub
End Class
Date :
2014-03-03 11:33:03
By :
love9713
เดี๋ยวผมต้องไปพบแพทย์ที่โรงพยาบาล เสร็จกิจธุระประมาณบ่ายคล้อย
เสร็จแล้วผมมีธุระต่อที่ต่างจังหวัด มิตรยามยากของผม ให้ไปเอาเงิน 150,000 บาท (หนึ่งแสนห้าหมื่นบาท)
กลับถึงที่ บ้าน ประมาณหลังเที่ยงคืนเผลอฯพร้อมพระออกบิณฑบาตร
อันนี้เผื่อผมไม่มีโอกาสได้กลับมา
* แนวทางของผม + ผลลัพท์ที่ควรจะได้รับ
Code (PHP)
<div>
<input type="checkbox"/>
<div>
<input type="checkbox"/>
<div>
<input type="checkbox"/>
<div>
...
...
</div>
<div>
<input type="checkbox"/>
<div>
...
...
</div>
</div>
</div>
</div>
</div>
** ลอง Copy ไปรันบน Microsoft SQL Server Management Studio ดูครับ
Code (SQL)
CREATE TABLE #Departments ( [ID] [int] NOT NULL, NAME NVARCHAR(max), ParentID INT);
INSERT INTO #Departments (ID, NAME, ParentID)
VALUES (0, 'Dept0', null),(1, 'Dept1', 0), (2, 'Dept2', 1),
(3, 'Dept3', 1), (4, 'Dept4', 1), (5, 'Dept5', 2),
(6, 'Dept6', 5);
;WITH AllDepts (
[ChosenDept],
[ChildID],
[ChildName],
[ParentID],
[ParentName]
)
AS (
SELECT Child.ID AS [ChosenDept],
Child.ID AS [ChildID],
Child.NAME AS [ChildName],
Parent.ID AS [ParentID],
Parent.NAME AS [ParentName]
FROM #Departments AS Child
LEFT OUTER JOIN #Departments AS Parent ON Child.ParentID = Parent.ID
UNION ALL
SELECT AllDepts.ChosenDept AS [ChosenDept],
AllDepts.ParentID AS [ChildID],
AllDepts.ParentName AS [ChildName],
NewParent.ParentID AS [ParentID],
NewParentInfo.NAME AS [ParentName]
FROM AllDepts
INNER JOIN #Departments AS NewParent ON AllDepts.ParentID = NewParent.ID
AND AllDepts.ParentID <> AllDepts.ChildID
INNER JOIN #Departments AS NewParentInfo ON NewParent.ParentID = NewParentInfo.ID
)
SELECT * from AllDepts
WHERE 1=1 --ChosenDept = 6;
;WITH EmpCTE
AS (
SELECT ID, NAME, ParentID FROM #Departments
)
SELECT CTE1.ID,
CTE1.Name,
CTE1.ParentID,
CTE2.Name AS [ParentName]
FROM EmpCTE CTE1
LEFT JOIN EmpCTE CTE2 ON CTE1.ParentID = CTE2.ID
DROP TABLE #Departments
Good Luck.
Date :
2014-03-04 07:30:20
By :
love9713
ผมออกจะงงๆ ว่าสองคนเนี้ย love9713 vs itpcc เค้าคุยอะไรกัน
คนแรกบอกว่าโค้ดของเขาไม่สมบูรณ์ แต่คนที่สองก็มาเขียนของตัวเอง ตามคำบอกของคนแรก
วนไปมาสองสามครั้ง เหมือนพูดคนละประเด็น แต่เป็นเรื่องเดียวกัน
Date :
2014-03-06 16:12:15
By :
sakuraei
ระดับโลก guitar class หนึ่งในนั้นคือ หยางซีเฟย ยกเว้น วิลเลียม
2. http://www.youtube.com/watch?v=PH72zNX06e8&list=RDTYI6HvgWyVE
ตอนนั้นเริ่มเป็นสาว สังเกตุจากกีตาร์ที่ใช้
Date :
2014-03-06 21:35:20
By :
love9713
3. http://www.youtube.com/watch?v=d8ZzO92RAo4
Date :
2014-03-06 21:46:35
By :
love9713
บอกแล้วว่าท่าน love9713 นะ เป็นบอทอัฉริยะยิ่งกว่า Simsimi อีกครับ.....
ในการสนทนาด้วยต้องเคร่งเรื่องอักขระมากๆมิฉะนั้นจะเพี้ยน เช่น . . . .
ถ้าคุณขอช่วยแก้ปัญหานี้หน่อยครับ คุณอาจจะได้บทเพลงมาแทน น่าจะเป็นขีดจำกัดหรือ BUG UTF8 อะไรซักอย่าง
Date :
2014-03-07 00:34:45
By :
meannerss
ไม่ได้เข้ามานาน คุยกันดูสนุกสนานมากมาย
Date :
2014-03-07 01:12:18
By :
PlaKriM
และอีกคนหนึ่งครับ คาโอริ มูราจิ (Kaori Muraji)
http://www.youtube.com/watch?v=DUrLvfyCTy4
เขาเล่ากันมาว่า กีตาร์ตัวไหนที่เธอเคยเล่น มูลค่าจะเพิ่มขึ้นเกินหนึ่งล้านบาท
Date :
2014-03-07 07:34:48
By :
love9713
ผมขอสรุปว่า Source Code ของคุณ ittcc สามารถประยุกต์/ต่อยอด ได้มากกว่า Source code ที่ผมเอามาแปะเอาไว้
Source code ด้านล่างนี้ (ผมเอามาจาก https://gist.github.com/lvivski/1481680)
ผมขอสรุปว่า ถ้าเราวางโครงสร้าง (Layout) และเลือกใช้ตัวคอนโทรล (Controls) ที่เหมาะสม มันช่วยทำให้เราเขียนโปรแกรมได้ง่ายยิ่งขึ้น
จากที่ผมเขียน Jquery ไม่เป็น ตอนนี้ผมเริ่มเข้าใจแล้ว (และยังต้องเรียนรู้ต่อไป)
ขอบคุณมากครับ *
Code (PHP)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<style type="text/css">
* { margin: 0; padding: 0; }
body { font: 18px Georgia, serif; }
#page-wrap { width: 960px; margin: 80px auto; }
ul { list-style: none; margin: 5px 20px; }
li { margin: 0 0 5px 0; }
</style>
<script>
$(function () {
// Apparently click is better chan change? Cuz IE?
$('input[type="checkbox"]').click(function (e) {
var checked = $(this).prop("checked");
var container = $(this).parent();
var siblings = container.siblings();
container.find('input[type="checkbox"]').prop({ indeterminate: false, checked: checked
});
function checkSiblings(e) {
var parent = e.parent().parent();
var full = true;
e.siblings().each(function () {
return full = ($(this).children('input[type="checkbox"]').prop("checked") === checked);
});
if (full && checked) {
parent.children('input[type="checkbox"]').prop({ indeterminate: false, checked: checked
});
checkSiblings(parent);
} else if (full && !checked) {
parent.children('input[type="checkbox"]').prop("checked", checked);
parent.children('input[type="checkbox"]').prop("indeterminate", (parent.find('input[type="checkbox"]:checked').length > 0));
checkSiblings(parent);
} else {
e.parents("li").children('input[type="checkbox"]').prop({ indeterminate: true, checked: false
});
}
}
checkSiblings(container);
});
});
</script>
</head>
<body>
<form id="form1">
<div id="page-wrap">
<h1>Indeterminate Checkboxes</h1>
<ul>
<li>
<input type="checkbox" name="tall" id="tall">
<label for="tall">Tall Things</label>
<ul>
<li>
<input type="checkbox" name="tall-1" id="tall-1">
<label for="tall-1">Buildings</label>
</li>
<li>
<input type="checkbox" name="tall-2" id="tall-2">
<label for="tall-2">Giants</label>
<ul>
<li>
<input type="checkbox" name="tall-2-1" id="tall-2-1">
<label for="tall-2-1">Andre</label>
</li>
<li>
<input type="checkbox" name="tall-2-2" id="tall-2-2">
<label for="tall-2-2">Paul Bunyan</label>
</li>
</ul>
</li>
<li>
<input type="checkbox" name="tall-3" id="tall-3">
<label for="tall-3">Two sandwiches</label>
</li>
</ul>
</li>
<li>
<input type="checkbox" name="short" id="short">
<label for="short">Short Things</label>
<ul>
<li>
<input type="checkbox" name="short-1" id="short-1">
<label for="short-1">Smurfs</label>
</li>
<li>
<input type="checkbox" name="short-2" id="short-2">
<label for="short-2">Mushrooms</label>
</li>
<li>
<input type="checkbox" name="short-3" id="short-3">
<label for="short-3">One Sandwich</label>
</li>
</ul>
</li>
</ul>
</div>
</form>
</body>
</html>
ตัวอย่างหน้าจอ
Date :
2014-03-07 12:39:28
By :
love9713
Load balance : Server 01