PDA

View Full Version : شرط برای chekbox



rerzaz
شنبه 23 خرداد 1394, 12:06 عصر
سلام خسته نباشید من یک شرط نوشتم برای chekbox اما موردی که هست تا وقتی که کاربر روی chekbox کلیک میکنه شرط اجرا میشه ، اما در صورتی که اگر از قبل چک باکس فعال باشه شرط رو اجرا نمی کنه باید چکار کنم

$('#post-format-video').click(function(){
if(this.checked){
$("#ithem-album").css("display","none");
$("#ithem-video").css("display","block");
}else{
$("#ithem-album").css("display","none");
}
})

hamedarian2009
شنبه 23 خرداد 1394, 12:28 عصر
اینجا بخش PHP هست و سوالتون رو باید در بخش JS بپرسید

barnamenevis2016
شنبه 23 خرداد 1394, 13:29 عصر
سلام....خوب اون شرط با زدن کلیک موس اجرا می شه....طبیعی که تا وقتی که کلیک نشده روش، شرط اجرا نمی شه....باید شرط رو یکبار هم خارج از رویداد کلیک برقرار کنی...مثلا اگر نام id اون چکباکست **** باشه...شرط زیر رو هم بالا اون کدت بنویس و داخل شرط دوباره همون کدای دلخواهتو بنویس:

if( document.getElementById( '****' ).checked=="checked" ){

}else{

}
البته میشه کد بالا رو به شکل های دیگه هم نوشت مثلا با جی کوئری

rerzaz
شنبه 23 خرداد 1394, 14:56 عصر
سلام جواب نداد

nazanin_asadi_1
شنبه 23 خرداد 1394, 15:19 عصر
سلام جواب نداد
حتما گوشیشو خاموش کرده بوده یا باطری گوشیش خرابه یا ... :قهقهه:

برای هر سوالی که می پرسی کامل باید توضیح بدی هم سورس رو بزاری هم توضیحاتت کامل باشه هم کامل بگی که دنبال چی هستی و چی میخوای
اینجا کسی رو ندیدم که علم غیب داشته باشه
یا کسی رو ندیدم که بتونه حدس بزنه منظور شما چیه

برای کدی که گذاشتی و میگی اگه از قبل تیک داشته باشه خب باید صفحه رو هم متناسب با اون تیک خورده تنظیم کنی
یا یه تابع بنویسی که صفحه رو متناسب با آخرین وضعیتش تنظیم کنه یعنی هر کدوم تیک خورده بود کارهای خواسته شده رو انجام بده

مثلا اگه کد شما این باشه
$('#post-format-video').click(function(){
if(this.checked){
$("#ithem-album").css("display","none");
$("#ithem-video").css("display","block");
}else{
$("#ithem-album").css("display","none");
}
})

و بخواین وضعیت رو ست کنید باید به صورت زیر بررسی کنید و مقدار دهی های لازم رو اعمال کنید
if($('#post-format-video').is(':checked')){
$("#ithem-album").css("display","none");
$("#ithem-video").css("display","block");
}else{
$("#ithem-album").css("display","none");
}

ولی بهترین گزینه اینه که موقع ساخت صفحه بیایی و بر اساس مقدار چکباکس صفحه رو سمت سرور اون مدلی تنظیم کنیم و بفرستی

rerzaz
یک شنبه 24 خرداد 1394, 06:59 صبح
ببیند اگه بجای اینکه یک استایل رو عوض کنم یه alter بزارم جواب میده این کد ولی اگر بخوام توی شرط بگم که این استایل رو فعال کن هیچی نمیشه

barnamenevis2016
یک شنبه 24 خرداد 1394, 13:59 عصر
سلام....مسکلتون با کدی که منم نوشتم همین بود که گفتید؟
مطمئنید که قبل از اجرای دستورات مثلا دستور زیر

$("#ithem-album").css("display","none");


تگی و یا المنتی با آی دی #ithem-album ایجاد شده؟شاید #ithem-album بعد از دستورات ایجاد می شه...به احتمال زیاد اینگونه است....اون کداتون رو مطمئنید که آخر سر و پس از ایجاد المنت های مورد نظر نوشتید؟

rerzaz
دوشنبه 25 خرداد 1394, 14:30 عصر
سلام....مسکلتون با کدی که منم نوشتم همین بود که گفتید؟
مطمئنید که قبل از اجرای دستورات مثلا دستور زیر

$("#ithem-album").css("display","none");


تگی و یا المنتی با آی دی #ithem-album ایجاد شده؟شاید #ithem-album بعد از دستورات ایجاد می شه...به احتمال زیاد اینگونه است....اون کداتون رو مطمئنید که آخر سر و پس از ایجاد المنت های مورد نظر نوشتید؟

المنت مورد نظر ایجاده شده است از قبل ولی استایل به صورت پیشفرض روی display:none; است ممکن است برای این باشه ؟

arenaw
چهارشنبه 03 تیر 1394, 10:20 صبح
سلام. به جای ایونت click، این کدها رو داخل ایونت change باید بنویسی و یک بار هم اون رویداد رو خودت اجرا کنی:

$('#post-format-video').change(function(){
if(this.checked){
$("#ithem-album").css("display","none");
$("#ithem-video").css("display","block");
}
else{
$("#ithem-album").css("display","none");
}
}).change();