View Full Version : Java Script و DataList
A.S.Roma
یک شنبه 08 آذر 1388, 12:06 عصر
با سلام
من خیلی جاوااسکریپت نمی دونم .
یک کد نوشتم برای یک المنت کار می کنه اما وقتی المنتها تکرار میشن ( توسط دیتالیست ) دیگه کار نمی کنه !
function changeImage(img_name,img_src){
document[img_name].src=img_src
}
لطفا" کمکم کنید که به ازای تک تک المنتهای دیتالیست یه همچین کدی اجرا بشه ( سورس یک Img عوض بشه . )
Chabok
یک شنبه 08 آذر 1388, 13:15 عصر
با سلام
در ابتدا کد خود را بدین صورت تصحیح کنید :
function changeImage(img_name,img_src){
document.getElementById(img_name).src=img_src
}نحوه ایجاد ID برای تصاویر نیز مهم است .
کد نمونه DataList و استفاده از این کد را نیز قرار دهید .
A.S.Roma
یک شنبه 08 آذر 1388, 13:37 عصر
ممنون از پاسختون .
قبل از پست شما من بدین شکل نوشته بودم :
<img name="img" src="Images/Normal.jpg" onmouseover="changeImage('img','Images/Hover.jpg')" />
که این کار باعث میشد به اضای هر المنت تولید شده توسط دیتالیست name همگی اونها یکی باشد.
حالا می خوام اینجوری بنویسم اما خطا می گیره .
راستش تاحالا Eval رو به ID نسبت ندادم .
<asp:Image ID='<%"img"+Eval("Id") %>' runat="server" ImageUrl="~/Images/Normal.jpg" alt=""
/>
کد جاوا هم برای onmouseover به صورت داینامیک call خواهم کرد.
Chabok
یک شنبه 08 آذر 1388, 13:53 عصر
هنگام استفاده از کنترل های سرور ساید مانند اینجا که از Image استفاده کرده اید ID شما سمت کلاینت بصورت خودکار تولید خواهد شد .
شما فقط کافیست یک ID بدهید مثلاً : MyImg
سمت کلاینت در صورت تعدد این کنترل مثلاً بدین صورت تولید می شود : MyImg_cntrl1 و MyImg_cntrl0
این ID که سمت کلاینت تولید می شود توسط Control.ClientID قابل دسترس است .
در مورد سوال شما می توان کار دیگری انجام داد :
<img src="Images/Normal.jpg" onmouseover="changeImage(this,'Images/Hover.jpg')" />در این کد ID و Name لازم نیست . لازم هم نیست Image سرور ساید باشه .
پارامتر اول تابع خود شی تصویر را پاس می دهد .
تابع را بصورت زیر اصلاح کنید .
function changeImage(img,img_src){
img.src=img_src
}
البته در رویداد onmouseout هم باید به همین صورت تصویر را به حالت اول برگردانید .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.