Javascript和复选框兼容性与移动设备

问题描述:

任何人都可以检查和建议,如果我的代码是移动设备的标准?我似乎无法使它在iPhone和我的机器人上工作。这适用于我的桌面,但不适用于移动设备。我试图创建一个反复复选框,当用户选中复选框,它会显示按钮,如果它是不选中它会显示禁用的版本(“#disableBtn”)Javascript和复选框兼容性与移动设备

的Javascript + jQuery的

$(function() 
{ 
    $('#agreed').change(function() 
    { 
     if ($(this).attr("checked")) 
     { 
      $('#disableBtn').hide(); 
      $('#button').css('display', 'block'); 
      return; 
     } 
     $('#disableBtn').show(); 
     $('#button').css('display', 'none') 
    }); 
}) 

HTML

<input id="agreed" type="checkbox" name="check" value="1"> 

<a id="button" href="#>">Button</a> 
<span id="disableBtn">Disabled</span> 

CSS

#button { display: none } 
+0

什么不起作用在你的桌面上? – Bergi 2012-04-10 17:11:57

if ($(this).attr("checked"))是完全错误的,我不能相信它适用于您的桌面浏览器。您的代码会检查输入上是否存在属性checked - 否则永远不会有。见http://api.jquery.com/prop/ - 甚至在解释中使用“检查”。相反,它应该是

if (this.checked) { 
... 

除此之外,按钮和输入(如果你使用一个真正的按钮,而不是一个锚 - 又见Change the appearance of a disabled link)有一个原生属性disabled。用它。

+0

感谢您指出这一点...我也很惊讶。 – Pennf0lio 2012-04-10 17:35:33