nazanin123

سوال- یک select با دو option

8 پست در این موضوع قرار دارد

من یک سلکت آپشن برای نمایش جدول دارم که میخوام آپشن هام دوتا بشه.

سلکت آپشن من اینه:

<select id="select123">
  <option value="content1">جدول قیمت</option>

  <option value="content2">جدول دلار</option>

</select>
<div id="content1" class="content123">
  نمایش جدول قیمت
</div>

<div id="content2" class="content123">
  نمایش جدول دلار
</div>


Script:
jQuery(document).ready(function($) {
  jQuery('#select123').change(function() {
    jQuery('.content123').hide();
    jQuery('#' + jQuery(this).val()).show();
  }).trigger("change");
});

Css:
div.content123 {
  display: none
}

دو جدول قیمت و جدول دلار . میخوام به هر کدوم ی آپشن اضافه شه ، مثلا آپشن دوم جدول قیمت بشه دیروز - امروز 

جدول آپشن قیمت دلار بشه هفته گذشته - قیمت روز

یعنی کاربر وقتی میزنه جدول دلار بعد در آپشن دوم انتخاب کنه هفته گذشته ، یا روز 

چطوری میشه کدهام؟

ممنونم از دوستانی که کمک میکنن

0

به اشتراک گذاری این پست


لینک به پست

سلام و درود

 

میتونید از کد زیر استفاده کنید البته از جی کوئری استفاده نکردم.

<html lang="fa-IR" dir="rtl">
<head>
<title>Select Box</title>
<style>
select[name=price], select[name=dolar] {
	display: none
}
</style>
</head>
<body>
<select name="main">
<option selected disabled hidden>انتخاب جدول</option>
<option value="price">جدول قیمت</option>
<option value="dolar">جدول دلار</option>
</select>
<select name="price">
<option value="yesterday">دیروز</option>
<option value="today">امروز</option>
</select>
<select name="dolar">
<option value="week-ago">هفته گذشته</option>
<option value="now">قیمت روز</option>
</select>
<script>
document.querySelector("select[name=main]").addEventListener("change", function() {
	var value = this.options[this.selectedIndex].value;
	if(value == "price") {
		if(document.querySelector("select[name=dolar]").style.display != "none")
			document.querySelector("select[name=dolar]").style.display = "none";
		document.querySelector("select[name=price]").style.display = "inline-block";
	} else if(value == "dolar") {
		if(document.querySelector("select[name=price]").style.display != "none")
			document.querySelector("select[name=price]").style.display = "none";
		document.querySelector("select[name=dolar]").style.display = "inline-block";
	}
});
</script>
</body>
</html>

 

 

موفق باشید

1

به اشتراک گذاری این پست


لینک به پست
در 26 دقیقه قبل، mehran-b گفته است :

سلام و درود

میتونید از کد زیر استفاده کنید البته از جی کوئری استفاده نکردم.

موفق باشید

ممنونم ، بخش content رو چجوری صدا بزنم؟ اون div در کد خودم منظورمه که به محض انتخاب جدول لود بشه.

دوم اینکه اون "انتخاب جدول" رو نمیخوام و میخوام بصورت پیش فرض یکی از جدول ها باز باشه که کاربر مشاهده کنه 

0

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

<html lang="fa-IR" dir="rtl">
<head>
<title>Select Box</title>
<style>
select[name=price], select[name=dolar], #content2 {
	display: none
}
</style>
</head>
<body>
<select name="main">
<option selected disabled hidden>انتخاب جدول</option>
<option value="price">جدول قیمت</option>
<option value="dolar">جدول دلار</option>
</select>
<select name="price">
<option value="yesterday">دیروز</option>
<option value="today">امروز</option>
</select>
<select name="dolar">
<option value="week-ago">هفته گذشته</option>
<option value="now">قیمت روز</option>
</select>
<div id="content1">
نمایش جدول قیمت
</div>
<div id="content2">
نمایش جدول دلار
</div>
<script>
document.querySelector("select[name=main]").addEventListener("change", function() {
	var value = this.options[this.selectedIndex].value;
	if(value == "price") {
		if(document.querySelector("select[name=dolar]").style.display != "none")
			document.querySelector("select[name=dolar]").style.display = "none";
		document.querySelector("select[name=price]").style.display = "inline-block";
		if(document.querySelector("#content2").style.display != "none")
			document.querySelector("#content2").style.display = "none";
		document.querySelector("#content1").style.display = "block";
	} else if(value == "dolar") {
		if(document.querySelector("select[name=price]").style.display != "none")
			document.querySelector("select[name=price]").style.display = "none";
		document.querySelector("select[name=dolar]").style.display = "inline-block";
		if(document.querySelector("#content1").style.display != "none")
			document.querySelector("#content1").style.display = "none";
		document.querySelector("#content2").style.display = "block";
	}
});
</script>
</body>
</html>

 

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 1 ساعت قبل، mehran-b گفته است :

درود مجدد

 

 

تشکر مجدد ، بازهم نشد.

1- سلکت آپشن دوم تا انتخاب نشه "مخفی" هست آنلاین ببینید

2- جدول ها هر option در بخش دوم چندین جدول داره به اینصورت هست

 

بخش جداول قیمت
<div id="content1">
نمایش جدول قیمت امروز
</div>
<div id="content2">
نمایش جدول قیمت دیروز
</div>
<div id="content3">
نمایش جدول قیمت آبان
</div>
<div id="content4">
نمایش جدول قیمت مهر
</div>
<div id="content5">
نمایش جدول قیمت شهریور
</div>
<div id="content6">
نمایش جدول قیمت مرداد
</div>
<div id="content7">
نمایش جدول قیمت تیر
</div>
<div id="content8">
نمایش جدول قیمت خرداد
</div>
<div id="content9">
نمایش جدول قیمت اردیبهشت
</div>
<div id="content10">
نمایش جدول قیمت فروردین
</div>
<div id="content11">
نمایش جدول قیمت اسفند 95
</div>
<div id="content12">
نمایش جدول قیمت بهمن 95
</div>

بخش جداول دلار

<div id="content13">
  نمایش جدول دلار قیمت روز
</div>
<div id="content14">
نمایش جدول دلار قیمت دیروز
</div>
<div id="content15">
نمایش جدول دلار هفته گذشته
</div>
<div id="content16">
نمایش جدول دلار ماه گذشته
</div>
<div id="content17">
نمایش جدول دلار نوسانات
</div>
<div id="content18">
نمایش جدول دلار سال گذشته
</div>

 

ویرایش شده در توسط nazanin123
0

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

منظور شما اینه که از ابتدا دو سلکت باکس نمایان باشه؟

مثلا سلکت باکس اصلی روی جدول قیمت باشه و سلکت باکس دومی هم مثلا روی امروز باشه و طبیعتا جدول  قیمت امروز هم در لحظه لود نمایان باشه؟

این کدهایی که فرستادید هم مربوط به سلکت باکس های دوم میشه؟

1

به اشتراک گذاری این پست


لینک به پست
در 3 ساعت قبل، mehran-b گفته است :

درود مجدد

 

منظور شما اینه که از ابتدا دو سلکت باکس نمایان باشه؟

مثلا سلکت باکس اصلی روی جدول قیمت باشه و سلکت باکس دومی هم مثلا روی امروز باشه و طبیعتا جدول  قیمت امروز هم در لحظه لود نمایان باشه؟

این کدهایی که فرستادید هم مربوط به سلکت باکس های دوم میشه؟

بله، دقیقا همینطوره ، سلکت باکس اول که دوگزینه داره، (جدول قیمت - جدول دلار)

ولی سلکت آپشن دوم تعداد متعددی داره مثلا امروز ، دیروز ، هفته گذشته ، ماه گذشته و ... که هرکدوم جدول (مطلب) خاص خود رو دارن که در پست قبلی فرستادم. باتشکر

0

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

<html lang="fa-IR" dir="rtl">
<head>
<title>Select Box</title>
<style>
select[name=dolar], div[id^=content]:not(.active) {
	display: none
}
</style>
</head>
<body>
<select name="main">
<option value="price" selected>جدول قیمت</option>
<option value="dolar">جدول دلار</option>
</select>
<select name="price">
<option value="content1" selected>قیمت امروز</option>
<option value="content2">قیمت دیروز</option>
<option value="content3">قیمت آبان</option>
<option value="content4">قیمت مهر</option>
<option value="content5">قیمت شهریور</option>
<option value="content6">قیمت مرداد</option>
<option value="content7">قیمت تیر</option>
<option value="content8">قیمت خرداد</option>
<option value="content9">قیمت اردیبهشت</option>
<option value="content10">قیمت فروردین</option>
<option value="content11">قیمت اسفند 95</option>
<option value="content12">قیمت بهمن 95</option>
</select>
<select name="dolar">
<option value="content13" selected>قیمت روز</option>
<option value="content14">قیمت دیروز</option>
<option value="content15">قیمت هفته گذشته</option>
<option value="content16">قیمت ماه گذشته</option>
<option value="content17">نوسانات قیمت</option>
<option value="content18">قیمت سال گذشته</option>
</select>
<div id="content1" class="active">
نمایش جدول قیمت امروز
</div>
<div id="content2">
نمایش جدول قیمت دیروز
</div>
<div id="content3">
نمایش جدول قیمت آبان
</div>
<div id="content4">
نمایش جدول قیمت مهر
</div>
<div id="content5">
نمایش جدول قیمت شهریور
</div>
<div id="content6">
نمایش جدول قیمت مرداد
</div>
<div id="content7">
نمایش جدول قیمت تیر
</div>
<div id="content8">
نمایش جدول قیمت خرداد
</div>
<div id="content9">
نمایش جدول قیمت اردیبهشت
</div>
<div id="content10">
نمایش جدول قیمت فروردین
</div>
<div id="content11">
نمایش جدول قیمت اسفند 95
</div>
<div id="content12">
نمایش جدول قیمت بهمن 95
</div>
<div id="content13">
نمایش جدول دلار قیمت روز
</div>
<div id="content14">
نمایش جدول دلار قیمت دیروز
</div>
<div id="content15">
نمایش جدول دلار هفته گذشته
</div>
<div id="content16">
نمایش جدول دلار ماه گذشته
</div>
<div id="content17">
نمایش جدول دلار نوسانات
</div>
<div id="content18">
نمایش جدول دلار سال گذشته
</div>
<script>
function myFunc() {

	var name = this.getAttribute("name");
	
	if(name == "main") {
		
		var option = this.options;
		var value = option[this.selectedIndex].value;
		
		for(var i = 0; i < option.length; i++) {
			
			if(option[i].value == value)
				document.querySelector("select[name="+option[i].value+"]").style.display = "inline-block";
			else
				document.querySelector("select[name="+option[i].value+"]").style.display = "none";
				
		}
		
		var child = document.querySelector("select[name="+value+"]");
		var childValue = child.options[child.selectedIndex].value;
		var	table = document.querySelectorAll("div[id^=content]");
		
		for(var i = 0; i < table.length; i++) {
			
			if(table[i].getAttribute("id") == childValue)
				document.querySelector("#"+table[i].getAttribute("id")+"").style.display = "block";
			else
				document.querySelector("#"+table[i].getAttribute("id")+"").style.display = "none";
		
		}
		
	} else {
		
		var	table = document.querySelectorAll("div[id^=content]");
		var value = this.options[this.selectedIndex].value;
		
		for(var i = 0; i < table.length; i++) {
			
			if(table[i].getAttribute("id") == value)
				document.querySelector("#"+table[i].getAttribute("id")+"").style.display = "block";
			else
				document.querySelector("#"+table[i].getAttribute("id")+"").style.display = "none";
		
		}
	
	}
	
}
var select = document.querySelectorAll("select");
for(var i = 0; i < select.length; i++)
	select[i].addEventListener("change", myFunc);
</script>
</body>
</html>

 

موفق باشید

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط nazanin123
      باسلام ، ی select option دارم
      من میخوام با jQuery ترجیحا ajax بتونم طبق انتخاب کاربر بخش مربوطه رو نمایش بدم
      کدهای منو ببینید 
      // صفحه اصلی index.php <script> jQuery(document).ready(function($) { jQuery('#select123').change(function() { jQuery('.content123').hide(); jQuery('#' + jQuery(this).val()).show(); }).trigger("change"); }); </script> <select id="select123">  <option value="content1" selected>content1</option> <option value="content2">content2</option> <option value="content3">content3</option> <option value="content4">content4</option> </select> * توجه: میخوام وقتی صفحه بالا ران میشه text defult show بطور پیش فرض نمایش داده بشه
      صفحه my-page.php
      //my-page.php <div id="content1" class="content123"> text defult show </div> <div id="content2" class="content123"> contentttttttt </div> <div id="content3" class="content123"> content3 </div> <div id="content4" class="content123"> content4 </div>  
    • توسط masoudmosleh267
      سلام دوستان. من سایتم سرعتش خیلی پایینه. wp rocket رو نصب کردم خیلی بهتر شد اما بخش فشرده کردن css , js رو فعال کردم قالب رو به هم ریخت و مجبور شدم این بخش رو غیر فعال کنم. قالب رو اورجینال از تم فارست خریدم. الان مشکل چیه؟ چطوری میشه فایل هایی که gtmetrix بم میگه رو gzip کنم؟
      به پشتیبانی سایتمم گفتم ارور 504 رو زیاد میده گفت کدنویسی سایتت رو بهینه کن یا هاست ویژه یا اختصاصی بخر. مصرف منابع ات بالاست.

    • توسط koolfayfer
      سلام و وقت بخیر
      من برای سایتم از این استفاده کردم که کارش یه پروگرس بار لودینگ به همراه ایجکس کردن صفحه است
      لودینگش اجرا میشه اما ایجکسش کار نمیکنه
      برای این که متوجه بشید دو سایت زیر رو بررسی کنید
      نمونه صحیح:
      http://zakerin.ir
       
      نمونه شبیه چیزی که من به اون رسیدم:
      https://zhaket.com
      (چیزی که اشتباهه اینه که صفحه لود میشه و سفید میره و میاد بعدش پروگرس اجرا میشه که اصولا نباید صفحه رفرش بشه)
       
      دوستان لطفا کمک کنند
    • توسط masoudch
      سلام
      به کمکتون نیاز دارم.
      به مشکل خوردم برای اضافه کردن یک فایل جاوا اسکریپت برای ایجاد اسلاید شو (owl-carousel) در تم وردپرس.
      این تم html بوده که درحال تبدیل اون به تم وردپرس هستم.
      کد جاوااسکریپت: این کد رو کجا باید قرار بدم که مشکل اسلایدشو حل بشه؟
      <script> // You can also use "$(window).load(function() {" $(function () { // Slideshow $("#slider").responsiveSlides({ auto: true, pager: false, nav: true, speed: 500, namespace: "callbacks", before: function () { $('.events').append("<li>before event fired.</li>"); }, after: function () { $('.events').append("<li>after event fired.</li>"); } }); }); </script> آدرس دهی در فانکشن وارد کردم: این درسته که میتونم کدهای جاوا اسکریپت و توی فوتر قرار بدم و بعد از طریق فانکشن یا حالا هر روش دیگه ای اونا رو فراخونی کنم که دیگه همچین مشکلی پیش نیاد؟
      <?php function insert_style() { wp_enqueue_style('zerogrid' , get_template_directory_uri().'/assets/css/zerogrid.css'); wp_enqueue_style('style' , get_template_directory_uri().'/assets/css/style.css'); wp_enqueue_style('responsiveslides' , get_template_directory_uri().'/assets/css/responsiveslides.css'); wp_enqueue_style('font-awesome-min' , get_template_directory_uri().'/assets/font-awesome/css/font-awesome.min.css'); wp_enqueue_style('owl-carousel' , get_template_directory_uri().'/assets/owl-carousel/owl.carousel.css'); wp_enqueue_style('owl-theme' , get_template_directory_uri().'/assets/owl-carousel/owl.theme.css'); wp_enqueue_style('menu' , get_template_directory_uri().'/assets/css/menu.css'); //add scripts wp_enqueue_script('jquery183-min' , get_template_directory_uri().'/assets/js/jquery183.min.js'); wp_enqueue_script('script' , get_template_directory_uri().'/assets/js/script.js'); wp_enqueue_script('jquery-latest-min' , get_template_directory_uri().'/assets/js/jquery-latest.min.js'); wp_enqueue_script('responsiveslides-min' , get_template_directory_uri().'/assets/js/responsiveslides-min.js'); wp_enqueue_script('owl-carousel-min' , get_template_directory_uri().'/assets/owl-carousel/owl.carousel.min.js'); } add_action('wp_enqueue_scripts' , 'insert_style'); ?> خطایی که با بررسی inspect element متوجه شدم اینه که اصلا فایل owl-carousel.js خونده نمیشه.
      ممنون.
       
    • توسط IFTHEN
      در حال کد کردن قالبی هستم حالا در قسمت بک پنل و در ایجاد نوشته جدید، فایل های جاوا اسکریپت لود نمی شه و به تبع اون یک سری از آیتم ها از کار می افتن!
      یه بررسی کردم دیدم توی صفحه یک سری از فایل ها درست لود نمی شن! و به عبارت بهتر آدرسشون دچار مشکل شده!
      <link rel='stylesheet' href='http://localhost/user/wp-admin/load-styles.php?c=1&amp;dir=rtl&amp;load%5B%5D=dashicons,admin-bar,buttons,media-views,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menu&amp;load%5B%5D=s,widgets,site-icon,l10n,wp-auth-check,wp-color-picker,farbtastic&amp;ver=4.7' type='text/css' media='all' /> داخل کد بالا عبارت زیر به صورت کد نمایش داده شده و این باعث این اتفاق شده!
      &amp;
      چطور می تونم این مشکل رو رفع کنم؟