2010-09-20 49 views
1

我有一個下拉菜單,我想在選擇某個值時禁用/啓用我的頁面上的按鈕。它適用於所有瀏覽器,但IE7及更低版本。有沒有解決辦法?Jquery禁用啓用按鈕,下拉選擇

代碼:

<script type="text/javascript"> 
$(document).ready(function() { 

//Start Buttons 
     $(".nextbutton").button({ disabled: true }); 
     (".nextbutton").click(function() { $("#phonetypeform").submit() }); 

//Enable Next Step 
    $('.enablenext').click(function(){ 
      $(".nextbutton").button("enable"); 
       }); 

//Disable Next Step 
    $('.disablenext').click(function(){ 
      $(".nextbutton").button("disable"); 
       }); 

}); 
</script> 

<form> 
     <select name="porting-p1"class="dropdown"> 
<option value="" class="disablenext">Please select an option...</option> 
<option value="1" class="enablenext">I want to keep my current phone number</option> 
<option value="2" class="enablenext">I want to choose a new number</option> 
     </select> 

</form> 

<button class="nextbutton">Next Step</button> 
+0

看起來你正在使用jQuery插件 - '.button()'不是標準API的一部分。我不確定哪個插件可能會爲您提供此功能,但可能是因爲插件本身不是爲了實現最大的IE友好性而編寫的。 – 2010-09-20 14:19:59

回答

1

您是否嘗試過

$(".nextbutton").attr("disabled", "disabled"); 

$(".nextbutton").removeAttr("disabled"); 

HTH

2

IE7似乎並不喜歡在<option>代碼的點擊事件。

下面是一個簡短的demo,應該使用change()事件替代您。

$(document).ready(function() { 

    $(".nextbutton").button({ disabled: true }); 

    $('.dropdown').change(function() { 
     if ($('.dropdown').val() == 0) { 
      $(".nextbutton").button({ disabled: true }); 
     } else { 
      $(".nextbutton").button({ disabled: false }); 
     } 
    }); 

});