PDA

View Full Version : سوال: کار با چکباکس در js



JustAcMilan
چهارشنبه 30 مرداد 1392, 18:57 عصر
با سلام خدمت اساتید
من توی asp.net یه گرید ویو دارم به شکل زیر که ستون آخرش چکباکسه
http://barnamenevis.org/attachment.php?attachmentid=109344&d=1376929575

من این ستون ها رو با کد زیر اضافه کردم

protected void GVUsers_RowDataBound1(object sender, GridViewRowEventArgs e)
{

if (e.Row.RowType == DataControlRowType.Header)
{
var chBoxHeader = new TableHeaderCell();
chBoxHeader.Controls.Add(new CheckBox());
chBoxHeader.Attributes["onChange"] = "handleCheckAll()";
e.Row.Cells.Add(chBoxHeader);
}

if (e.Row.RowType == DataControlRowType.DataRow)
{
var chBox = new TableCell();
chBox.Controls.Add(new CheckBox());
chBox.Attributes["onChange"] = "changeRowColor()";
e.Row.Cells.Add(chBox);
}
}
با راهنمایی یکی از اساتید من دو تابع js رو هندل کردم به رویدادهای چک باکس (handleCheckAll() و changeRowColor())
حالا من از اونجایی که جاوا اسکریپت رو صفرم برای نوشتن این توابع کمک می خواستم

handleCheckAll(): وقتی چکباکس هدر تیک خورد همه چکباکسها تیک بخورن و بلعکس

changeRowColor(): وقتی یه چکباکس چک خورد رنگ اون سطر تغییر کنه

JustAcMilan
چهارشنبه 30 مرداد 1392, 22:31 عصر
ممنون دوستان خیلی لطف کردید

cups_of_java
پنج شنبه 31 مرداد 1392, 11:03 صبح
شما جاوا اسکریپتتون اگه در حدی هست که بتونین خودتون jQuery رو اضافه کنین به پروژه، این کارو انجام بدین و از JQuery استفاده کنین. شاید اصن داشته باشینتش الانم.
این کارها با jQuery خیلی ساده هستن. فقط باید کمی از CSS کمک بگیرین.


handleCheckAll(): وقتی چکباکس هدر تیک خورد همه چکباکسها تیک بخورن و بلعکس
اگه چک باکس تیک خورده، تمام چک باکس های سطر ها رو سلکت کنید و همه رو چک کنید.



changeRowColor(): وقتی یه چکباکس چک خورد رنگ اون سطر تغییر کنه
TR مربوط به اون چک باکس رو سلکت کنید و کلاس row_selected رو مثلن بهش بدید. اون کلاس رو توی cssتون تعریف کنید و بهش مثلن background-color: #cfcfcf; بدید. اگر چک باکس تیکش برداشته شده بود اون کلاس رو حذف کنید از TR پدرش.

اینا هر کدوم چند خط کد jQUery میخواد که اگه نتونستین خودتون پیداش کنید تو نت ولی jQuery رو داشتید توی پروژه من یا دوستان براتون می نویسیم کاملش رو