ช่วยด้วย

Tue 31 Jan 2006 11:55:36
Tue 31 Jan 2006 11:55:36
http://javascript.internet.com/forms/check-by-group.html
คือผมต้องการทำการ group ของ check box แบบตัวอย่างข้างบน
แต่ติดปัญหาตรงที่เวลาส่งค่าไป มันไม่ได้ส่งค่าไปเป็นแบบ array
เลยทำให้อ่านค่าได้แต่ค่าสุดท้าย เพราะชื่อตัวแปลมันเหมือนกันหมด
แต่ถ้าเราตั้งชื่อเป็น array ก้จะทำให้ไม่สามารถทำการ group ตามตัวอย่างได้
ไม่ทราบมีวิธีแก้ไขไหมครับ
ลองดูตามนี้ครับ
<script langauge="javascript">
function selectivecheck(f, myselection)
{
var fieldid;
var pos;
var criteria;
var strng;
strng = myselection.value;
for (i=0; i<f.elements.length; i++)
{
if (strng=="all")
{
f.elements[i].checked = true;
}
else
{
fieldid = f.elements[i].id;
pos = strng.substring(0,1);
criteria = strng.substring(1,2);
if (fieldid.substring(pos,pos+1)==criteria)
{
f.elements[i].checked = true;
}
else
{
f.elements[i].checked = false;
}
}
}
}
</script>
<form>
<table align="center">
<tr><td>
<input id="a1" type="checkbox" name="list[]" value="1">Group A SubGroup 1<br>
<input id="a2" type="checkbox" name="list[]" value="2">Group A SubGroup 2<br>
<input id="b1" type="checkbox" name="list[]" value="3">Group B SubGroup 1<br>
<input id="b2" type="checkbox" name="list[]" value="4">Group B SubGroup 2<br>
<input id="c1" type="checkbox" name="list[]" value="5">Group C SubGroup 1<br>
<input id="c2" type="checkbox" name="list[]" value="6">Group C SubGroup 2<br>
<!--Set your option values that contain a position and then the criteria-->
<p>
Group Selection: <select size="1" name="mycombobox">
<option value="all">All Groups</option>
<option value="0a ">Group A</option>
<option value="0b ">Group B</option>
<option value="0c ">Group C</option>
<option value="11 ">SubGroup 1</option>
<option value="12 ">SubGroup 2</option>
</select>
<br>
<div align="center">
<input type="button" value="Select Group" onclick=" selectivecheck(this.form, this.form.mycombobox)">
</div>
</td></tr>
</table>
</form>
<script langauge="javascript">
function selectivecheck(f, myselection)
{
var fieldid;
var pos;
var criteria;
var strng;
strng = myselection.value;
for (i=0; i<f.elements.length; i++)
{
if (strng=="all")
{
f.elements[i].checked = true;
}
else
{
fieldid = f.elements[i].id;
pos = strng.substring(0,1);
criteria = strng.substring(1,2);
if (fieldid.substring(pos,pos+1)==criteria)
{
f.elements[i].checked = true;
}
else
{
f.elements[i].checked = false;
}
}
}
}
</script>
<form>
<table align="center">
<tr><td>
<input id="a1" type="checkbox" name="list[]" value="1">Group A SubGroup 1<br>
<input id="a2" type="checkbox" name="list[]" value="2">Group A SubGroup 2<br>
<input id="b1" type="checkbox" name="list[]" value="3">Group B SubGroup 1<br>
<input id="b2" type="checkbox" name="list[]" value="4">Group B SubGroup 2<br>
<input id="c1" type="checkbox" name="list[]" value="5">Group C SubGroup 1<br>
<input id="c2" type="checkbox" name="list[]" value="6">Group C SubGroup 2<br>
<!--Set your option values that contain a position and then the criteria-->
<p>
Group Selection: <select size="1" name="mycombobox">
<option value="all">All Groups</option>
<option value="0a ">Group A</option>
<option value="0b ">Group B</option>
<option value="0c ">Group C</option>
<option value="11 ">SubGroup 1</option>
<option value="12 ">SubGroup 2</option>
</select>
<br>
<div align="center">
<input type="button" value="Select Group" onclick=" selectivecheck(this.form, this.form.mycombobox)">
</div>
</td></tr>
</table>
</form>
ช่วยด้วย

Tue 31 Jan 2006 13:02:23
Tue 31 Jan 2006 13:02:23
ขอบคุณมาก ๆ เลยครับ แค่แก้ตรง <input type="button" value="Select Group" onclick=" selectivecheck(this.form, this.form.mycombobox)"> นี้ก็ได้แหละ โหเราโง่อยู่ตั้งนาน อิอิ

















