2012-02-26 66 views
0

首先,在html:添加/刪除基於無線電下拉列表項目中選擇

<input type="radio" name="selectrad" class="rad" data-min="2" /> 
<input type="radio" name="selectrad" class="rad" data-min="5" /> 

<select name="minimum" class="minimum"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="5">5</option> 
    <option value="6">6</option> 
    <option value="7">7</option> 
    <option value="8">8</option> 
    <option value="9">9<option> 
    <option value="10">10</option> 
</select> 

我一直試圖做的是添加或刪除基於對「數據分鐘值從下拉選項'點擊單選按鈕。因此,如果'data-min'包含5,則只會顯示選項5-10。我試圖找到兩者之間的差異,並且沒有運氣就增加或減少這種方式。

我試圖避免只是抓取無線電值的簡單方法,循環與for (i=0; i<min; i++)並替換html,因爲此代碼應儘可能快速和高效。

+0

?您需要說明單選按鈕上data-min屬性的值與選擇列表中的選項的關係。此外,包括你已經得到的任何代碼(即使它不起作用)總比沒有包含任何代碼更好。 – 2012-02-26 18:20:42

+0

循環選項只需要幾毫秒,這不會是任何問題。 – Teemu 2012-02-26 18:24:52

+0

對於它的價值,我不確定是否有比循環和生成內容更好的方法,直到您想要的地步。而且我用更多的條目循環和生成內容,從來沒有給我一個問題。 – 2012-02-26 18:31:19

回答

1

會像下面的幫助嗎?它是您可以根據您的條件添加的基本代碼。如果數據-min是2,3至10一切都將被隱藏,並在自己的「5」,5之前一切都基於數據分鐘的價值如何,究竟隱藏

   $(document).ready(function(){ 
      $("input[name='selectrad']").click(function(){ 
       // console.log($(this).attr("data-min")); 
       if($(this).attr("data-min") === '2'){ 
        $(".minimum").find("option").show(); 
        var min = $(".minimum").find("option:gt(1)"); 
        min.hide(); 
       } else { 
        $(".minimum").find("option").show(); 
        var max = $(".minimum").find("option:lt(4)").hide(); 
        max.hide(); 
       } 
      }) 
     }) 
+0

這是非常好的謝謝!我稍微修改了你的答案,因爲它只需要數字少於需要刪除的數字。 – 2012-02-26 21:26:41

相關問題