PDA

View Full Version : سوال: اشکال این اسکریپ چیه؟



farcry
پنج شنبه 03 شهریور 1390, 15:55 عصر
سلام

من یه جدول 4*4 درست کردم بعد بعضی از ستون هاش رو رنگ قرمز و بعضی ها رو سبز و زرد و.... کردم.

حالا می خوام یه لوپ بزنم و هر چی رنگ قرمز که وجود داره رو سبز کنم.

حالا وقتی از کد زیر استفاده میکنم تمام جدول سبز میشه....! اشکال کجاست؟




for(i = 0; i < table1.rows.length; i++){
for (j=0 ;j<table1.rows(i).cells.length ;j++ )
{
if (rows(i).cells(j).bgColor="red";)
{
rows(i).cells(j).bgColor="green";
}
}
}

scarce
پنج شنبه 03 شهریور 1390, 16:55 عصر
حالا وقتی از کد زیر استفاده میکنم تمام جدول سبز میشه....! اشکال کجاست؟




for(i = 0; i < table1.rows.length; i++){
for (j=0 ;j<table1.rows(i).cells.length ;j++ )
{
if (rows(i).cells(j).bgColor="red";)
{
rows(i).cells(j).bgColor="green";
}
}
}






سلام

در دستور if باید دوتا مساوی بزارین ، شما با تک مساوی سطر رو به رنگ قرمز تبدیل می کنید چون عمل مقدار کار می کنه پس شرط درست میشه برای همین دستور داخل IF هم اجرا شده و سطر به رنگ سبز در می آید

کد اصلاح شده به شکل زیر می باشد


for(i = 0; i < table1.rows.length; i++){
for (j=0 ;j<table1.rows(i).cells.length ;j++ )
{
if (rows(i).cells(j).bgColor=="red")
{
rows(i).cells(j).bgColor="green";
}
}
}

farcry
پنج شنبه 03 شهریور 1390, 21:57 عصر
این کد رو نگاه کن.






<table border="1" id="tbl1" width="100">
<tr>
<td bgcolor="green">&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="red">&nbsp;</td>
<td bgcolor="red">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td bgcolor="blue">&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="green">&nbsp;</td>
</tr>
<tr>
<td bgcolor="red">&nbsp;</td>
<td bgcolor="green">&nbsp;</td>
<td bgcolor="green">&nbsp;</td>
<td bgcolor="green">&nbsp;</td>
</tr>
<tr>
<td bgcolor="red">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="red">&nbsp;</td>
</tr>
</table>

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

var table = document.getElementById("tbl1");
var rows = table.getElementsByTagName("tr");
var cells=table.getElementsByTagName("td");

for(i=0; i< rows.length; i++){
for(j=0 ;j<rows(i).cells.length ;j++ )
{

if(rows(i).cells(j).bgColor=="red"){

rows(i).cells(j).bgColor="green";


}

}
}


</script>









دمت گرم ببین چشه... دیوونه شدم.

scarce
جمعه 04 شهریور 1390, 00:59 صبح
سلام

کد رو به شکل زیر تغییر بدهید مشکلتون حل میشه .

مشکل های کد شما :

1_ برای گرفتن شماره سطر به جای استفاده از (rows(i از [rows[i استفاده کنید .

2_ برای گرفتن شماره سل به جای استفاده از (cells(i از [cells[i استفاده کنید .

در جاوا اسکریپت برای گرفتن شماره ای از آرایه از [index] استفاده میشه.


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


var table = document.getElementById("tbl1");
var rows = table.getElementsByTagName("tr");
var cells=table.getElementsByTagName("td");

var i=0;
var j=0;

for(i=0; i< rows.length; i++){

for(j=0; j< rows[i].cells.length; j++ )
{


if(rows[i].cells[j].bgColor=="red"){
rows[i].cells[j].bgColor="green";}

}
}



</script>

farcry
جمعه 04 شهریور 1390, 02:29 صبح
عیول حالا درست شد.