启用复选框仅工作一次

时间:2015-04-21 12:25:56

标签: jquery html jquery-mobile

每次用户选择编辑/取消时,我都需要启用/禁用复选框。 我在Android手机和平板电脑上测试了这个。 在页面加载HTML代码:

<div class="ui-checkbox ui-mini"><label class="m-r-2 ui-btn ui-corner-all ui-btn-b ui-btn-icon-left ui-checkbox-on">E-mail</label><input data-theme="b" data-mini="true" checked="" type="checkbox" name="mail" disabled="disabled"></div>

JS代码(点击编辑):

$("#"+formid+" .oldform input[type='checkbox']").each(function(){
        $(this).removeAttr('disabled');
    });

JS代码(点击取消 - 我用旧的html替换所有更改):

$("#"+formid+" .oldform").html("");
$("#"+formid+" .oldform").append(oldhtml2[prefix_arr]);

所以... 我第一次点击编辑每次都很好 - &gt;复选框已启用。

<div class="ui-checkbox ui-mini"><label class="m-r-2 ui-btn ui-corner-all ui-btn-b ui-btn-icon-left ui-checkbox-on">E-mail</label><input data-theme="b" data-mini="true" checked="" type="checkbox" name="mail"></div>

第一次点击取消时,evereyting很好 - &gt;复选框已禁用。

<div class="ui-checkbox ui-mini"><label class="m-r-2 ui-btn ui-corner-all ui-btn-b ui-btn-icon-left ui-checkbox-on">E-mail</label><input data-theme="b" data-mini="true" checked="" type="checkbox" name="mail" disabled="disabled"></div>

编辑时的Secont时间 - &gt;删除属性已禁用,但是当我点击复选框时,无法选中或取消选中。

<div class="ui-checkbox ui-mini"><label class="m-r-2 ui-btn ui-corner-all ui-btn-b ui-btn-icon-left ui-checkbox-on">E-mail</label><input data-theme="b" data-mini="true" checked="" type="checkbox" name="mail"></div>

我看不出问题出在哪里。

编辑:

当我在append()之后使用 .trigger(创建); 时,在第二次编辑点击时,结果为:

<div class="ui-checkbox ui-mini"><div class="ui-checkbox ui-state-disabled ui-mini"><label class="m-r-2 ui-btn ui-corner-all ui-checkbox-on ui-btn-b ui-btn-icon-left" for="mail">E-mail</label><input type="checkbox" name="mail" data-mini="true" data-theme="b" id="mail" disabled=""></div></div>

复选框已被公开,我无法检查或取消选中。以下是示例JSBin

1 个答案:

答案 0 :(得分:0)

尝试使用prop()

$('input').prop('disabled', false); // or true to disable