无法将复选框的属性更改为readOnly

时间:2014-08-29 10:08:37

标签: jquery

我有一个HTML,我有一个表,一列表包含复选框,另一列包含文本。

当页面加载时,会从后端自动打出一个复选框。我想只读取该复选框。下面是我正在使用的代码,但它不起作用。 请建议。

$(document).ready(function(){
  $('tr td').each(function(){
    $('this').find('input[type="checkbox"]:checked').prop('readOnly',true);
  });
});

4 个答案:

答案 0 :(得分:0)

更改此

$('this').find('input[type="checkbox"]:checked').prop('readOnly',true);

到这个

$(this).find('input[type="checkbox"]:checked').attr('disabled','disabled'); 

答案 1 :(得分:0)

除了使用'this'的字符串和奇怪的骆驼外壳(这并不重要,因为HTML 不是 区分大小写因为jQuery无论如何都将它修改为小写字母)这是一个简单的事实,即没有像readonly复选框那样的东西See for yourself(如果您有兴趣为什么 - 简单地说,READONLY会阻止更改字段的 - 并且当点击复选框时您实际上{{ 3}})

相反,使用禁用:

$(this).find('input[type="checkbox"]:checked').prop('disabled',true);

答案 2 :(得分:0)

点击事件返回false ...

试试这个:

$('tr td').each(function(){
    $(this).find('input[type="checkbox"]:checked').on('click', function(){ return false });
});

::JsFiddle::

答案 3 :(得分:0)

您可以使用禁用所有复选框

 $('input[type="checkbox"]:checked').prop('disabled', "true");