السلام عليكم ورحمة الله
اخواني الكرام ،، عندي مشكلة بسيطة وارجو منكم المساعدة لانى بصراحة لا املك خبرة كبيرة في الجافا سكربت
لدي موقع مبرمج بلغة الــAsp.net
و احد الصفحات تحتوي على اداه اسمها GridView (لكي تستخرج البيانات من قاعدة البيانات) ويحتوي كل صف بها على CheckBox
والمطلوب هو انني اريد كود جافا سكربت يقوم بتظليل الصف الذي يتم تحديده والغاء التظليل في حالة الغاء التحديد
وكذلك تطليل الصفوف كلها من الــــ Checkbox العلوي والغاء تظليها كلها ( يعني كما هو الحال في بريد الياهو او الهوتميل مثلا )
وجدت الكود التالي
================================
<script type = "text/javascript">
function Check_Click(objRef)
{
//Get the Row based on checkbox
var row = objRef.parentNode.parentNode;
//Get the reference of GridView
var GridView = row.parentNode;
//Get all input elements in Gridview
var inputList = GridView.getElementsByTagName("input");
for (var i=0;i<inputList.length;i++)
{
//The First element is the Header Checkbox
var headerCheckBox = inputList[0];
//Based on all or none checkboxes
//are checked check/uncheck Header Checkbox
var checked = true;
if(inputList.type == "checkbox" && inputList != headerCheckBox)
{
if(!inputList.checked)
{
row.style.backgroundColor = "#C2D69B";
checked = false;
break;
}
}
}
headerCheckBox.checked = checked;
}
function checkAll(objRef)
{
var GridView = objRef.parentNode.parentNode.parentNode;
var inputList = GridView.getElementsByTagName("input");
for (var i=0;i<inputList.length;i++)
{
var row = inputList.parentNode.parentNode;
if(inputList.type == "checkbox" && objRef != inputList)
{
if (objRef.checked)
{
inputList.checked=true;
row.style.backgroundColor = "#C2D69B";
}
else
{
if(row.rowIndex % 2 == 0)
{
row.style.backgroundColor = "white";
}
else
{
row.style.backgroundColor = "white";
}
inputList.checked=false;
}
}
}
}
</script>
====================================
وبعد ذلك اضع السطر التالي للــ Checkbox العلوي ( الخاص باختيار كل الصفوف معا)
<asp:CheckBox ID="chkAll" runat="server" onclick = "checkAll(this);" />
وابضا اضع السطر التالي للــ ـ Checkbox المنفرد الذي سيظهر في كل صف على حده
<asp:CheckBox runat="server" ID="chk" onclick = "Check_Click(this)"/>
=====================================================
الكود يعمل جيدا في حالة تظليل الكل والغاء تظليل الكل
المشكلة هي في الدالة الخاصة بتظليل والغاء تظليل كل صف على حده
عندما احدد الصف يتم فعلا تغيير لونه ولكن عندما الغي التحديد من على نفس الصف لا يتم الغاء التظليل (لا يتم الغاء اللون )
وهذا هو الجزء الذي اريد منكم المساعدة فيه
اعتذر عن الاطالة في الموضوع
وارجو منكم المساعدة ..... جزاكم الله خير ....
</FONT>