PDA

View Full Version : سوال: انتخاب چند چک باکس با یک کلیک



ravand
جمعه 02 تیر 1391, 22:02 عصر
سلام.
کد زیر کارش اینه که با انتخاب چک باکش اصلی همه ی چک باکس ها انتخاب میشن و با برداشتن تیک همه ی گزینه ها برداشته میشن.

<SCRIPT LANGUAGE="JavaScript">
function Check(chk)
{
if(document.myform.Check_ctr.checked==true){
for (i = 0; i < chk.length; i++)
chk[i].checked = true ;
}else{

for (i = 0; i < chk.length; i++)
chk[i].checked = false ;
}
}
</script>
<form name="myform" action="checkboxes.asp" method="GET">
<b>Scripts for Web design and programming</b><br>
<input type="checkbox" name="check_list" value="1">ASP<br>
<input type="checkbox" name="check_list" value="2">PHP<br>
<input type="checkbox" name="check_list" value="3">JavaScript<br>
<input type="checkbox" name="check_list" value="4">HTML<br>
<input type="checkbox" name="check_list" value="5">MySQL<br>
<input type="checkbox" name="Check_ctr" value="yes"
onClick="Check(document.myform.check_list)"><b>Check Control</b> <br>
<input type="submit" value="حذف">
</form>
الان مشکل من اینه که میخوام مقدار name="Check_ctr" رو در خط زیر به صورت ارایه ارسال کنم:

<input type="checkbox" name="Check_ctr" value="yes"
یعنی به این شکل باشه:

name="Check_ctr[]"
مشکل اینجاست که اگه این گزینه رو تغییر بدم اونم به این شکل دیگه این اسکریپت کار نمیکنه.
ممنون میشم راهنماییم کنید.
متشکرم.

saeidpsl
شنبه 03 تیر 1391, 07:57 صبح
این میتونه کمکت کنه








<script type="text/javascript" language="javascript">

function Check(chk) {

if(document.myform.Check_ctr.checked==true)
{ for (i = 0; i < chk.length; i++) chk[i].checked = true ; }
else
{ for (i = 0; i < chk.length; i++) chk[i].checked = false ; } }
function shows() {
var e = document.getElementsByTagName('input');
var elts_cnt = (typeof(e.length) != 'undefined') ? e.length : 0;
if (!elts_cnt) {
return;
}
for (var i = 0; i < elts_cnt; i++) {

if((e[i].type) == 'checkbox') {

if((e[i].checked) == true) {

if((e[i].value) == 'yes') {

}else{

alert(e[i].value)

}

}

}
}



}

</script>

<form name="myform" action="checkboxes.asp" method="GET">

<b>Scripts for Web design and programming</b>
<br/>
<input type="checkbox" name="check_list" value="ASP"/> ASP<br/>

<input type="checkbox" name="check_list" value="PHP"/>PHP<br/>
<input type="checkbox" name="check_list" value="JavaScript"/>JavaScript<br/>
<input type="checkbox" name="check_list" value="HTML"/>HTML<br/>
<input type="checkbox" name="check_list" value="MySQL"/>MySQL<br/>

<input type="checkbox" name="Check_ctr" value="yes" onclick="Check(document.myform.check_list)"/><b>Check Control</b>

<input type="button" onclick="shows()" value="shows checked value"/>

<input type="submit" value="حذف"/>

</form>

ravand
شنبه 03 تیر 1391, 08:11 صبح
شما اصلا به سوال من توجهی نکردی داداش.
یه بار دیگه بخون.
من گفتم در این خط :

<input type="checkbox" name="Check_ctr" value="yes"
onClick="Check(document.myform.check_list)"><b>Check Control</b> <br>
من مجبورم که این گزینه رو

name="Check_ctr"
به این صورت بنویسم:

name="Check_ctr[]"
چون میخوام مقادیر رو به صورت آرایه ارسال کنم.
برای همین وقتی به این شکل می نویسم کدم کار نمیکنه و وقتی چک باکس اصلی رو میزنم بقیه ی چک باکس ها انتخاب نمیشه.

ravand
شنبه 03 تیر 1391, 09:06 صبح
مشکلم حل شد:

<script LANGUAGE="JavaScript">
function seleciona() {
if (F1.master.checked==true)
for (i=0; i<document.F1.elements.length;i++)
{
document.F1.elements[i].checked=true
}
if (F1.master.checked==false)
for (i=0; i<document.F1.elements.length;i++)
{
document.F1.elements[i].checked=false
}
}
</script>

<form name="F1" method="post" action="page.php">
<input type="checkbox" name="master" onClick="seleciona()"> // For select one checkbox
<input type="checkbox" name="selecionar[]" value="<?php echo $cod_id;?>"> // For select all checkbox
</form>