2012-02-07 185 views
0

我有一個簡單的PHP腳本,它帶有兩個選擇字段,它們都是簡單的數字值。腳本對兩個字段的總和也有最大值。我試圖動態地過濾第二個下拉列表,以便用戶不能選擇超過最大值。例如,如果我的最大值是10,那麼第一個選擇下拉列表將會有1-10個。選擇6的用戶將只能在第二個選擇下拉列表中選擇0-4。根據另一個選擇下拉菜單篩選一個HTML選擇下拉菜單

我知道這應該是相當簡單的,但我是一個總的JavaScript/jQuery新手。我有搜索到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 2012-02-12 23:29:48

回答

0

我對你的情況更新legendofawesomenesscode

+0

這幾乎是我想要的東西,甚至更好,我想我理解它......只需要弄清楚jQuery的參數傳遞。 – Biggles 2012-02-12 23:30:46

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

嘿diddle +1小提琴 – 2012-02-07 23:51:06

相關問題