الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب مساعدة في كود جافا بسيط

بدأه ananabha في 16 نوفمبر 2009 · 3 رد · 1,180 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

اخواني الكرام ،، عندي مشكلة بسيطة وارجو منكم المساعدة لانى بصراحة لا املك خبرة كبيرة في الجافا سكربت

لدي موقع مبرمج بلغة الــ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>

#2

اخواني مبرمجين الجافا سكريبت

أرجو منكم المساعدة الله يجزاكم خير

هذا المنتدى من اشهر المنتديات العربية

ولقد وضعت الموضوع في القسم المخصص له ( الجافا سكريبت ) لأن الكود المراد تعديله بلغة الجافا سكريبت

وليس لدي من الخبرة في الجافا كثيرا

وأعتقد أن الدالة ليست معقدة لدرجة كبيرة

فلو سمحتكم أرجو مساعدتي ... لأني فعلا محتاج حل لهذه المشكلة

وجزاكم الله خير وجعله في ميزان حسناتكم

بانتظار ردودكم .

#3

لا أدري بالضبط ما تقصد ولكن ربما هذا يفيدك ...

المرفق بالأسفل .

تحياتي ,,,

 <html>
<head>
</head>
<body>
<table id="table" border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table> 

<script type="text/javascript">
var rows = document.getElementById("table").getElementsByTagName('tr');

//تلوين السطر
function color() {
	 rows[1].style.backgroundColor = "yellow";
//this.style.backgroundColor='yellow';
}

//إلغاء تلوين السطر
function uncolor() {

	 rows[1].style.backgroundColor = "white";
//this.style.backgroundColor='white';
}

//تلوين النص
function fontcolor() {
	rows[1].style.color ="orange";
	 //this.style.color='orange';
}

//إلغاء تلوين النص
function unfontcolor() {
	rows[1].style.color ="black";
	 //this.style.color='black';
}

</script>
<br>
<button onclick="color()">تلوين السطر</button>
<button onclick="uncolor()">إلغاء تلوين السطر</button> <br><br>
<button onclick="fontcolor()">تلوين النص</button>
<button onclick="unfontcolor()">إلغاء تلوين النص</button>
</body>
</html>

__________________.zip

تم تعديل هذه المشاركة بواسطة homano في 21 نوفمبر 2009 في 12:59

#4

أتمنى أني افيدك

مواضيع مشابهة