2012-02-07 3 views
0

У меня есть простой PHP-скрипт с формой, которая имеет два поля выбора, оба из которых представляют собой просто числовые значения. Сценарий также имеет максимум для суммы двух полей. Я пытаюсь динамически фильтровать второй снимок, так что пользователь не может выбрать больше максимального. Например, если мой максимум равен 10, в раскрывающемся списке первого выбора будет 1-10. Пользователь, выбирающий 6, мог бы только выбрать 0-4 во всплывающем меню второго выбора.Отфильтровать выпадающее меню HTML на основе другого выбора dropdown

Я знаю, что это должно быть достаточно простым, но я полный новичок JavaScript/jQuery. I имеют, которые искали SO и Google, но я не понимаю достаточно примеров, которые я видел, чтобы знать, с чего начать, не говоря уже о том, как настроить их для моих нужд. Я предоставил код, который у меня уже есть, у которого явно нет какой-либо фильтрации, в которой я нуждаюсь.

Некоторые примеры кода (предположим, $ максимум, определенный уже):

<script type="text/javascript"> 
    var max = <?php echo $maximum; ?>; 
</script> 

<select name="dropdown1" id="dropdown1"> 
<?php 
for ($i = 1; $i <= $maximum; $i++) 
{ 
    echo '<option value="'.$i.'">'.$i.'</option>'; 
} 
?> 
</select> 
<select name="dropdown2" id="dropdown2"> 
<?php 
for ($i = 0; $i <= $maximum; $i++) 
{ 
    echo '<option value="'.$i.'">'.$i.'</option>'; 
} 
?> 
</select> 

Спасибо заранее.

теперь у меня есть следующий фрагмент JQuery в его собственном .js файле:

$(document).ready(function() { 
// var max ?? 
$("#dropdown1").change(function() { 
    var selectedVal = $(this).find("option:selected").val(); 
    $("#dropdown2 option").removeAttr("disabled").removeAttr("selected"); 
    $("#dropdown2 option").each(function() { 
     if($(this).val() > max - selectedVal*1) 
      $(this).attr("disabled", "disabled"); 

    });  
}); 
}); 

Однако, я немного застрял получать $ максимум из моего PHP скрипт в JQuery. Я полагаю, что мне нужно создать переменную JavaScript, но не совсем уверен, как передать ее в jQuery. Я могу понять, как это сделать, если бы у меня был встроенный jQuery в том же PHP-скрипте, просто повторив его, но не совсем уверен в передаче его в качестве параметра.

+0

Обновленных мой код на основе комментариев. Однако не уверен, как передать переменную в фрагмент jQuery. – Biggles

ответ

0

обновляет code из legendofawesomeness для Вашего случая

+0

Это почти удар по тому, что я хочу, и даже лучше, я думаю, я это понимаю ... Просто нужно выяснить параметр, проходящий для jQuery. – Biggles

1

Here является рабочей скрипкой. И, соответствующий JQuery код:

$(document).ready(function() { 
    $("#select1").change(function() { 
     var selectedVal = $(this).find("option:selected").val(); 

     $("#select2 option").each(function() { 
      if($(this).val() >= selectedVal) 
       $(this).attr("disabled", "disabled"); 

     }); 
    }); 
}); 
+0

Hey diddle +1 для скрипки –

Смежные вопросы