2016-01-15 47 views
-1

我想在用戶取消選中該複選框時禁用下拉菜單。它應該是很簡單,但我的代碼是不工作...我的代碼是: -當在asp.net中檢查複選框時啓用下拉列表mvc

<div> 
    @Html.CheckBox("Use_Favicon_Image", true, new { id= "1" }) 
    <label for="Use_Favicon_Image">Want to Use favicon</label> 
</div> 
<div class="row"> 
    <div class="input-field col s12"> 
     <p>Select Favicon Image </p> 
     @Html.DropDownList("FaviconImage", new List<SelectListItem> { new SelectListItem { Text = "1.jpg" }, new SelectListItem { Text = "2.jpg" }, new SelectListItem { Text = "3.jpg" }, }, new { id = "2" }) 
    </div> 
</div> 

<script type="text/javascript"> 
    $(function() { 
     $('#1').change(function() { 
      if ($(this).is(':checked')) { 
       // disable the dropdown: 
       $('#2').attr('disabled', 'disabled'); 
      } else { 
       $('#2').removeAttr('disabled'); 
      } 
     }); 
    }); 
</script> 
+3

你遇到了一些錯誤?我試過你的代碼,它的工作原理,請參閱[JSFiddle](https://jsfiddle.net/2vbnemm5/) – BeardedMan

+0

是的,它工作正常,檢查並檢查瀏覽器中的任何錯誤。 –

+0

是不是瀏覽器特定?也許嘗試道具而不是屬性,請參閱[JSFiddle](https://jsfiddle.net/2vbnemm5/1/) – BeardedMan

回答

0

試試這個代碼:

$(function() { 
    $('#1').change(function() { 
     $('#2').prop('disabled', !$(this).is(':checked'))     
    }); 
}); 
1
$(function() { 
     $('#1').change(function() { 
      if ($(this).is(':checked')) { 
       // disable the dropdown: 
       $('#2').prop('disabled', true); 
      } else { 
       $('#2').prop('disabled', false); 
      } 
     }); 
    });