توی PHP (و هیچ زبان دیگه) کلاً نمیتونید یه متغیر رو قبل از مقداردهی استفاده کنید. منطق کارتون مشکل داره.
رتبه موضوع:
استفاده متغیر php در jquery
|
05-05-1394، 06:42 ب.ظ
(آخرین تغییر در ارسال: 05-05-1394، 06:44 ب.ظ توسط MRPM.
دلیل ویرایش: قرار دادن کدها بصورت فرمت php برای جلوگیری از اسکرول خوردن
)
ایشون تو کدهای جاوا اسکریپت یه بار متغییر رو مقدار دهی کردند و تو چند خط بعد از اون از متغییر استفاده کرند. و چون این متغییر بعد از لود کامل صفحه استفاده خواهد شد پس میتونن در انتهای صفحه مقدار متغییر رو تغییر بدن.
منظور من از استفاده قبل از مقدار دهی به لحاظ مکانی بود. مثلا متغییری داخل تابعی استفاده شده و این متغییر بعد از این تابع مقداردهی شده. مثل زیر: <!DOCTYPE html> <html> <head> <title>Title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script> $(function () { $('button').click(function (){ alert(x); }); }); </script> </head> <body> <button>click</button> </body> <script>var x = 20;</script> </html>
...
05-05-1394، 06:56 ب.ظ
(05-05-1394، 04:58 ب.ظ)hemat نوشته: منظورم از متغیر width متغیر جاوااسکریپت نیست .همینطور نوشتم هر چیزی میتونه باشه برای چیزی که شما میخواین دو تا راه حل هستش. یک اینکه کدهای جاوا اسکریپت رو ببرید آخر صفحه و اونجا متغییر ها رو مقدار دهی کنید. دوم اینکه از روشی که من استفاده کردم استفاده کنید، یعنی متغییر های جاوا اسکریپت رو آخر صفحه مجددا مقدار دهی کنید.
...
06-05-1394، 10:45 ق.ظ
با سلام
از همه دوستان تشکر میکنم با راهنمایی های شما دوستان مشکل حل شد من کدهای جاوااسکریپت رو بردم بعد از تگ <a> و مشکل رفع شد
06-05-1394، 04:18 ب.ظ
با سلام
من برنامه قبلی رو با کمک دوستان درست کردم و مشکل حل شد
الان برنامه رو تغیر دادم که در پایین قرار میدم .در این برنامه برای هر دانشجو در یک چدول مشخصات فردی هر دانشجو قرار میگیرد.حالا من تکه کد جاوااسکریپتی قراردادم که وقتی در هر سطر روی گزینه تایید کلیک شود شماره همان دانشجو را با alert نمایش دهد
مشکل من اینجاست که در سطر اول وقتی روی تایید کلیک میکنم درست کار میکنه ولی وقتی روی سطر دوم کلیک میکنم رویداد کلیک جواب نمیده و اجرا نمیشه .من کد جاوااسکریپت رو کجا قرار بدم
while ($row1=mysql_fetch_assoc($r1)) { $shomareh=$row1['shd']; $r3=mysql_query("select * from nazarmo where nazarmo.shd=$shomareh"); $n3=@mysql_num_rows($r3); if($n3<1) { if($os2=mysql_fetch_assoc($os)) { //echo 'sssssssssssssssssssssssssssssssssssss'; // echo $os2['nazarost']; //echo $os2['shd']; // echo $os1; } $os3=mysql_query("select * from nazaros where nazaros.shd='$shomareh'"); $os4=@mysql_num_rows($os3); if($os4<1) { $valuos='خیر'; } else { $os5=mysql_fetch_assoc($os3); $valuos=$os5['nazarost']; } $sar3=mysql_query("select * from nazarsar where nazarsar.shd='$shomareh'"); $sar4=@mysql_num_rows($sar3); if($sar4<1) { $valusar='خیر'; } else { $sar5=mysql_fetch_assoc($sar3); $valusar=$sar5['nazar']; } $_SESSION['in2']=$row1['reshteh']; $_SESSION['in3']=$row1['shd']; $vaset=$row1['shd']; echo '<tr> <td>'.$row1['shd'].'</td> <td>'.$row1['name'].'</td> <td>'.$row1['family'].'</td> <td> '.$row1['ostad'].'</td> <td>'.$row1['taahodd'].'</td> <td>'.$valusar.'</td> <td>'.$valuos.'</td> <td>'.$row1['reshteh'].'</td> <td>'.$row1['magh'].'</td> <td>'.$row1['sherkat'].'</td> <td><a href="" id="taga"> تایید</a></td> </tr>'; } } ?> </table> <script type="text/javascript"> $(document).ready(function() { $('#taga').click(function() { if(confirm(" دانشجو تایید شود؟ ")) { var value="<?php echo $vaset; ?>"; alert(value); } }); }); </script> </body> </html>
06-05-1394، 05:27 ب.ظ
از id استفاده کردین. دقت کنید که id منحصربفرده و نمیشه برای چند عنصر یک id گذاشت و فقط اولی اختصاص داده میشه توی DOM. باید بجاش از class استفاده کنید و توی jQuery هم بجای taga# از taga. استفاده کنید.
تشکر شده توسط: hemat
07-05-1394، 08:44 ق.ظ
با سلام
ممنون از پاسخ مدیر محترم.من طبق گفته شما عمل کردم و مشکل حل شد والان اگر دوسط داشته باشیم برای هر سطر رویداد کلیک عمل میکنه
ولی یه مشکل دارم و اینکه الان اگر دو سطر داشته باشیم و در سطر اول شماره دانشجویی 105 و در سط دوم 106 حالا روی تایید در هر سطر که کلیک کنیم شماره 106 رو نمایش میده حتی وقتی روی سطر 105 کلیک کنیم.
کدها دقیقا همان کدهایی هست که در پست قبلی گذاشتم فقط مواردی رو که شما عنوان کردید رو تغیر دادم برای مشکل اول
لطفا راهنمایی کنید
با تشکر
|
|
کاربران در حال بازدید این موضوع: 3 مهمان