PDA

View Full Version : سوال: انتخاب تمام چک باکس های فرم



ealvandi
سه شنبه 22 مرداد 1387, 17:35 عصر
سلام
امیدوارم خوب باشید و سلامت.
يك كدي مي خوام براي انتخاب تمام چک باکسهای فرمم كه وقتي رو لینک " انتخاب همه " كليك کردم تمام چك باكسها انتخاب بشن و بلعكس.

متشکر میشم از لطفتون.

Lagon666
سه شنبه 22 مرداد 1387, 17:44 عصر
<script>
function SelectAll(){
for(i=1;i<=3;i++){
document.getElementById("check"+i).checked=true;
}
}

function DeselectAll(){
for(i=1;i<=3;i++){
document.getElementById("check"+i).checked=false;
}
}
</script>
<input id="check1" type="checkbox">1
<br>
<input id="check2" type="checkbox">2
<br>
<input id="check3" type="checkbox">3
<br>
<br>
<button onclick="SelectAll();">Select All</button>&nbsp;<button onclick="DeselectAll();">Deselect All</button>

ealvandi
سه شنبه 22 مرداد 1387, 17:55 عصر
خیلی ممنون از جوابتون . حالا اگه تعداد checkbox ها معلوم نباشه چی؟ میشه تعدادشونو بدست آورد ؟
بازم ممنونم

Lagon666
سه شنبه 22 مرداد 1387, 18:01 عصر
معمولا تعداد چک ها رو تنظیم می کنند. مثلا در هر صفحه 10 تا.
این که چند تا چک در هر صفحه چاپ بشه به عهده ی خود برنامه نویسه، پس نباید دنبال چنین کاری بود.

شاید اینطور بشه تعداده اونها رو به دست اورد:

var num = 0;
for(i=1;i<=1000;i++){
if(document.getElementById('check'+i)){
num = num + 1;
}
alert(num);
}البته تا 1000 رفتن میتونه زمان پردازش اطلاعات رو خیلی افزایش بده.

maysamscript
سه شنبه 22 مرداد 1387, 18:31 عصر
راه اصولی

<script>
function check1()
{
var entryForm=document.getElementById("myform");
for (var i = 0; i < entryForm.elements.length; i++) {
if (entryForm.elements[i].type == "checkbox") {
entryForm.elements[i].checked="checked";
}
}
}
</script>
<form id="myform">
<input name="q1" type="checkbox">
<input name="q3" type="checkbox">
<input name="q3" type="checkbox">
<input name="q4" type="checkbox">
<input onclick="check1()" type="button" value="checked" />
</form>

jaza_sa
چهارشنبه 23 مرداد 1387, 01:28 صبح
<html>
<head>
<title>Find CheckBox</title>
<script type="text/javascript">
function ChangeChecked()
{
var items = document.getElementsByTagName('input');
if(items.length > 0)
for (var i = 0; i < items.length; i++)
{
var myItem = items[i];
if (myItem.type == "checkbox")
myItem.checked == '' ? myItem.checked = 'true' : myItem.checked = '';
}
}
</script>
</head>
<body>
<input type="submit" value=" O / I " onclick="ChangeChecked();" />
<hr />
<input type="checkbox" value="No.1" /><br />
<input type="checkbox" value="No.2" /><br />
<input type="checkbox" value="No.3" /><br />
<input type="checkbox" value="No.4" /><br />
</body>
</html>

ealvandi
جمعه 25 مرداد 1387, 09:37 صبح
با تشکر از جواب دوستان اما یک مشکل دیگه هم دارم و اون اینکه من برای هر checkbox یک رخداد در onchange تعریف کردم که میخوام وقتی همه اونها تیک خوردن رخداد تکتکشون اجرا شه که متاسفانه در این حالت اجرا نمیشیه . اما در حالتی که خودم کلیک میکنم رخداد اجرا میشه. لطفا راهنمایی کنید.

Lagon666
جمعه 25 مرداد 1387, 10:07 صبح
با این مشکلت حل میشه?
اگه برای Check ها onclick تعریف کرده باشی حله. اما با onchange فکر نکنم.


<input id="salam" onclick="alert('salam!!!');">
<br>
<button onclick="document.getElementById('salam').click()">CLICK</button>

ealvandi
جمعه 25 مرداد 1387, 10:35 صبح
ا این مشکلت حل میشه?
اگه برای Check ها onclick تعریف کرده باشی حله. اما با onchange فکر نکنم


خوب دوست عزیز من میخوام وقتی چک باکسها همگی تیک خوردن رخداد همشون اجرا شه نه اینکه خودم دستی همشون رو تیک بزنم و این اصلا با onclick جور در نمیاد !

maysamscript
جمعه 25 مرداد 1387, 11:42 صبح
برای هر check box یک value تعریف کن بعد تو اون حلقه for که برات نوشتم اون value رو بگیر و به عنوان پارامتر تو تابعی که به عنوان رخداد استفاده کردی بزار

ealvandi
جمعه 25 مرداد 1387, 12:09 عصر
اتفاقا همین کا رو هم کردم اما جواب نمیده !!!!



<div id=$rec[id]> <td align=\"center\"><input type=checkbox id=cb1 value=\"yes\"
onchange=\"ajaxing('AddToTemp.php?id='+$rec[id],'cb1')

maysamscript
جمعه 25 مرداد 1387, 14:03 عصر
منظور من این بود


<html>
<head>
<title>Entitled Document</title>
<script>
function check1()
{
var entryForm=document.getElementById("myform");
for (var i = 0; i < entryForm.elements.length; i++) {
if (entryForm.elements[i].type == "checkbox") {
entryForm.elements[i].checked="checked";
ajaxing(entryForm.elements[i].value);
}
}
}
function ajaxing(value)
{
alert(value);
}
</script>
<form id="myform">
<input name="q1" type="checkbox" value="value1">
<input name="q3" type="checkbox" value="value2">
<input name="q3" type="checkbox" value="value3">
<input name="q4" type="checkbox" value="value4">
<input onclick="check1()" type="button" value="checked" />
</form>
</body>
</html>