Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将复选框更改为只读_Javascript_Jquery_Html_Css_Jquery Ui - Fatal编程技术网

Javascript 无法将复选框更改为只读

Javascript 无法将复选框更改为只读,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,我有一个具有内联行创建功能的表,即,您单击一个添加行按钮,它将创建一个可编辑的行以将数据放入其中,并在完成后通过一个按钮将其保存 单击“保存”按钮时,名称属性将更改为只读,但复选框未更改,我应如何执行此操作?我尝试使用以下代码,但未成功 <td><input id="btnsubmit" type="submit" value="Create" class="btn btn-default" /></td><td></tr>';

我有一个具有内联行创建功能的表,即,您单击一个添加行按钮,它将创建一个可编辑的行以将数据放入其中,并在完成后通过一个按钮将其保存

单击“保存”按钮时,名称属性将更改为
只读
,但复选框未更改,我应如何执行此操作?
我尝试使用以下代码,但未成功

<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>
”;
函数addRow(){
如果($('#btnsubmit')。长度==0){
jQuery(html).prependTo(“#数据表”);
$('#btnsupmit')。单击(函数(){
$('input').attr('readonly',true);
//我试着用这个
$('input[type=checkbox]').attr('readonly',true);
//还有这个
$('#checkBox1').attr('readonly',true);
});
}
}
var html='@html.TextBox(“name”)@html.CheckBox(“checkBox1”)

您不能设置复选框
只读
,因为这仅适用于更改其值的字段,而使用复选框只能将其选中或关闭

所以另一个选项是禁用复选框

如果您真的希望使其成为“只读”,您可以这样做:

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

您不能设置复选框
只读
,因为这仅适用于更改其值的字段,而使用复选框只能将其选中或关闭

所以另一个选项是禁用复选框

如果您真的希望使其成为“只读”,您可以这样做:

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

对于复选框,相当于
只读
属性的是
禁用
。您可以用几乎相同的方式进行设置:

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

Ed:

对于复选框,相当于
只读
属性的是
禁用
。您可以用几乎相同的方式进行设置:

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

Ed:

编辑:使用选择器类型更新JSFIDLE。它很好用

只需禁用它即可P

JQuery版本:

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

编辑:使用选择器类型更新JSFIDLE。它很好用

只需禁用它即可P

JQuery版本:

$('#check').attr('disabled', 'true');
我们还可以使用Prop()来禁用复选框

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

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

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



我应该将此代码放在哪里?我应该如何将其连接到我的复选框(作为var提供)。您可以编写如下内容:$('#checkBox1')。单击(function(){return false;});谢谢Jony,但我尝试了,但它不起作用…,我希望当我单击按钮提交(如name属性)时,复选框将被禁用…我相信OP会询问如何在编辑后将复选框更改为禁用状态。这两种方法都会导致按钮在某个时间段被禁用。$(“#checkBox1”).prop(“disabled”,true);在这种情况下会更好这很脆弱:您需要保留对事件处理程序的引用,以便多次附加/分离它。我应该将此代码放在哪里?以及如何将其连接到我的复选框(作为var提供)。您可以编写如下内容:$('#checkBox1')。单击(函数(){return false;});谢谢Jony,但我尝试了它,但它不起作用…,我希望当我单击按钮提交(如name属性)时,复选框将被禁用…我相信OP会询问如何在编辑后将复选框更改为禁用状态。这两种方法都会导致按钮在某个时间段被禁用。$(“#checkBox1”).prop(“disabled”,true);在这种情况下会更好这是脆弱的:您需要保留对事件处理程序的引用,以便多次附加/分离它。谢谢,但尝试一下,它不起作用……还有其他想法吗?我需要将和ID放入type=?@jeantehe是的,如果您有ID,例如
$(“#checkBox1”)
。属性本身有效,请仔细检查其余内容。有关详细信息,请参阅编辑fiddle@JeanTehhe哦,对不起,我没有注意到选择器实际上是无效的…必须小心使用jQuery选择器的引号再次感谢BLGT的支持,但它也不起作用,知道原因是什么吗?@jeantehe问题出在哪里很可能在您的代码中的其他地方。不确定dom插入是如何处理的,在哪里调用
addRow
,等等,请提供更多详细信息,我们将看看是否可以提供帮助。谢谢,但尝试一下,它不起作用……还有其他想法吗?我是否需要将和ID放入type=?@jeantehe是的,如果您有ID,例如
$(“#checkBox1”)
。属性本身有效,请仔细检查其余内容。有关详细信息,请参阅编辑fiddle@JeanTehhe哦,对不起,我没有注意到选择器实际上是无效的…必须小心使用jQuery选择器的引号再次感谢BLGT的支持,但它也不起作用,知道原因是什么吗?@jeantehe问题出在哪里很可能在您的代码中的其他位置。不确定dom插入如何处理,调用
addRow
的位置等,请提供更多详细信息,我们将看看是否可以提供帮助。谢谢Grimbode,但它不起作用。不知道会出现什么问题?jsfiddle工作,您可能对选择器有问题。此外,请尝试包装您的脚本在$(document).ready(function(){})中;谢谢Grimbode,但它不起作用。不知道会出现什么问题吗?JSFIDLE可以工作,您的选择器可能有问题。另外,请尝试将脚本包装在$(document).ready(function(){})中;