无法将复选框更改为只读

时间:2014-06-01 10:19:48

标签: javascript jquery html css jquery-ui

我有一个创建内联行的表格,即您点击添加行按钮,它会创建一个可编辑的行来放入数据,并在完成后通过按钮保存。

当我点击保存按钮时,名称属性更改为read-only,但复选框没有,我应该怎么做?
我尝试使用以下代码成功。

<td><input id="btnsubmit" type="submit" value="Create" class="btn btn-default" /></td><td></tr>';

        function addRow() {
            if ($('#btnsubmit').length == 0) {

                jQuery(html).prependTo('#data-table');

                $('#btnsubmit').click(function () {

                    $('input').attr('readonly', true);

    //I try with this
      $('input[type=checkbox]').attr('readonly', true);

    //also with this


    $('#checkBox1').attr('readonly', true);
                });

            }
        }


 var html = '<tr><td>@Html.TextBox("name")</td><td>@Html.CheckBox("checkBox1")</td>

4 个答案:

答案 0 :(得分:1)

您不能将复选框readonly设为仅用于更改其值的字段,而使用复选框只能打开或关闭它们。

所以其他选项可能会禁用您的复选框。

如果你真的希望这样做,只需阅读即可。你可以这样做:

<input type="checkbox" onclick="return false"/>

答案 1 :(得分:1)

对于复选框,等同于readonly属性为disabled。你可以用几乎相同的方式设置它:

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

Ed:Demo

答案 2 :(得分:1)

编辑:用您的选择器类型更新了jsfiddle。它工作得很好。 http://jsfiddle.net/Grimbode/y26tL/1/

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

http://jsfiddle.net/Grimbode/y26tL/

var check = document.getElementById('check');
check.disabled = true;

只需禁用它即可。 :P

JQuery版本:

$('#check').attr('disabled', 'true');

答案 3 :(得分:1)

我们也可以使用Prop()来禁用复选框。

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

检查

http://api.jquery.com/prop/