PDA

View Full Version : سوال: راهنمایی در مورد بررسی شرط



AApadAA
دوشنبه 03 مهر 1396, 02:50 صبح
سلام
من 2 تا منوی افتادنی دارم

<div class="form-group">
<select name="model" >
<option value="">مدل درخواستی را انتخواب کنید</option>
<option value="1100">1100</option>
<option value="1200">1200</option>
</select>
</div>
<br>
<div class="form-group">
<select name="Memory">
<option value="">حافظه مورد نظر خود را انتخاب کنید</option>
<option value="8">8</option>
<option value="16">16</option>
<option value="32">32</option>
</select>
</div>
قبل لود شدن صفحه با php مقدار موجودی 1100 و 1200 رو از طریق دیتابیس برای حافظه های 8 ، 16 و 32 بررسی میکنم
و در صورتی که هر کدوم به اتمام رسیده باشه متغیری رو براش تعریف میکنم
مثلا در اینجا اگر مدل 1100 با حافظه ی 8 و 16 تموم شده باشه میام و 2 متغیر به نام های

$end_1100_8
$end_1100_16
ست میکنم
و اگر مدل 1200 با حافظه ی 32 تموم شده باشه متغیر
$end_1200_32 رو ست میکنم

حالا سوالم اینجاست که چطور میشه کاری کرد که اگر کاربر مدل 1100 رو از منوی افتادنی اول انتخاب کرد در منوی افتادنی دوم مقادیر 8 و 16 غیرفعال بشن و در صورتی که مدل 1200 رو انتخاب کرد فقط 32 غیر فعال بشه
لطفا منو در این مورد راهنمایی کنید چند وقته دنبال حل کردن این موضوع هستم ولی هیچ نتیجه ای نداشته
لطفا راهنماییم کنین
خیلی تشکر :قلب:

AApadAA
دوشنبه 03 مهر 1396, 14:03 عصر
یه کد پیدا کردم که کاری رو که میخوام انجام میده فقط یه مشکل داره
اونم این هست که value هر دو باید برابر باشه http://ashiyane.org/forums/images/smilies/62.gif

خوب در اینصورت بعد از سابمیت کردن فرم ، من چطور باید متوجه بشم که وقتی کاربر از منوی یک Fruit رو انتخاب کرده
در منوی دوم کدوم یکی رو انتخاب کرده ؟ ( در حالت عادی هر کدوم رو که انتخاب کنه یه مقدار ثابت رو برمیگردونه )
برای حل این موضوع باید چیکار کنم ؟



<html>

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
</head>


<body>
<select name="select1" id="select1">
<option value="1">Fruit</option>
<option value="2">Animal</option>
<option value="3">Bird</option>
<option value="4">Car</option>
</select>


<select name="select2" id="select2">
<option value="1">Banana</option>
<option value="1">Apple</option>
<option value="1">Orange</option>
<option value="2">Wolf</option>
<option value="2">Fox</option>
<option value="2">Bear</option>
<option value="3">Eagle</option>
<option value="3">Hawk</option>
<option value="4">BWM<option>
</select>
</body>
<script type="text/javascript">
var $select1 = $( '#select1' ),
$select2 = $( '#select2' ),
$options = $select2.find( 'option' );

$select1.on( 'change', function(){
$select2.html( $options.filter( '[value="' + this.value + '"]' ) );
}).trigger( 'change' );
</script>
</html>

plague
دوشنبه 03 مهر 1396, 17:08 عصر
اول اینکه مقادیر تمام شده رو توی آرایه بریز نه اینجوری با متغیر !
مثلا یه همچین چیزی میشه


$disabled = [
1200 => [128] ,
1100 => [16,32]
];

بعد این آرایه رو باید تبدیل کنی به یه آرایه جاواسکریپتی تا از طرق js هم قابل دسترسی باشه




var disabled = $.parseJSON('<?php echo json_encode($disabled); ?>');



حالا هروقت کسی سلکت باکس اول رو تغییر داد از توی آرایه محتویات مقادیر تمام شدش رو میخونی و دیسیبل میکنی سلکت باکس دوم رو


$('#select1').change(function(){

$.each( disabled[$(this).val()] , function(k , v ){

$select2.html( $options.filter( '[value="' + v + '"]' ) );
}).trigger( 'change' );

});

});

این کد ها رو همینجوری اینجا نوشتم تا متوجه بشی روش کار رو احتمال زیاد اررور سینتکس دارن که خودت دیگه اصلاحشون کن

AApadAA
دوشنبه 03 مهر 1396, 17:47 عصر
خیلی ممنون دوست گرامی مشکل من با متغیر ها حل شده الان فقط مونده مشکلی که تو پست دوم دارم

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

خیلی متشکر

plague
دوشنبه 03 مهر 1396, 20:41 عصر
آگه منظورت اینه که بجای شناسه عددی نام میوه انتخاب شده رو بگیری


$('#select2 option:selected').text();


ولی خب این روش کلا درست نیست شما تو منوی دوم مقادیر یکسان گزاشتی که نباید انجام بدی همون کد اولت رو با راهنمایی که من کردم ترکیب کنی نتیجه درستی میگیری