2011-12-14 58 views
1

我想在我的复选框列表中启用复选框。这并不在我的解决方案工作的唯一一件事就是在IE9的跨度中移除已停用的属性,它工作在FF:试图启用checkboxlist中的复选框?

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 

     function enablebut() { 
      $('#CheckBoxList1_0').removeAttr('disabled'); 
      $('#CheckBoxList1_0').closest('span').removeAttr('disabled'); 

     } 

    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <button onclick="enablebut();">enable</button> 
    <div> 
     <asp:CheckBoxList ID="CheckBoxList1" Enabled='false' runat="server"> 
      <asp:ListItem Text="een"></asp:ListItem> 
      <asp:ListItem Text="twee"></asp:ListItem> 
     </asp:CheckBoxList> 
    </div> 
    </form> 
</body> 
</html> 

回答

1

添加type="button"属性,以防止提交(回发)。

<button type="button" onclick="enablebut();">enable</button> 

或者

<input type="button" onclick="enablebut();" value="enable"/> 
+0

它不能在IE9中工作:( – user603007 2011-12-14 10:43:26

0

我想,而不是传递函数通过JavaScript,你应该因为你使用jQuery

写的document.ready函数中下面的代码
$(document).ready(function() { 
      $('#CheckBoxList1_0').attr('disabled',''); 
    }) 

编辑:整页代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 

     $(document).ready(function() { 
      $('#CheckBoxList1_0').attr('disabled',''); 
    }) 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <button type="button">enable</button> 
    <div> 
     <asp:CheckBoxList ID="CheckBoxList1" Enabled='false' runat="server"> 
      <asp:ListItem Text="een"></asp:ListItem> 
      <asp:ListItem Text="twee"></asp:ListItem> 
     </asp:CheckBoxList> 
    </div> 
    </form> 
</body> 
</html> 
+0

它不能在IE9的工作? – user603007 2011-12-14 10:43:12

0

及其在IE8不wroking,这里是下面的代码

<asp:CheckBoxList ID="chkList" runat="server" Enabled="false" > 
          <asp:ListItem Text="1" Value="1"></asp:ListItem> 
          <asp:ListItem Text="2" Value="2"></asp:ListItem> 

         </asp:CheckBoxList> 


      <asp:Button ID="btnFoo" runat="server" Text="Test" /> 

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

        $('#<% = btnFoo.ClientID %>').click(function() { 
         //var targetValue = 2; 
         var items = $('#<% = chkList.ClientID %> input:checkbox'); 
         for (var i = 0; i < items.length; i++) { 
           //alert(i); 
          //if (items[i].value == targetValue) { 
          items[i].checked = true; 

           // break; 
          //} 
         } 

$( '#<%= chkList.ClientID%>输入:复选框')removeAttr( '禁用');。返回false; }) });

相关问题