2

在页面加载期间,我有一个禁用的复选框。按下按钮时,我希望它启用。它适用于我的桌面版本,但不适用于我的 jQuery Mobile 版本。如果我做相反的事情(在加载时启用并使用禁用按钮,它工作得很好)。这是代码:

html:

<div>
     @Html.CheckBoxFor(model => model.Terms, new { id = "terms", disabled = "disabled"}) 
</div>

<div>
 <input type="button" id="blah" name="blah" data-inline="true" value="blah" />
</div>

jQuery:

<script language="javascript" type="text/javascript">
$().ready(function () {
    $("#blah").click(function () {            
        $('#terms').removeAttr('disabled');
    });
});
</script>

任何帮助将不胜感激!

谢谢!

4

1 回答 1

1

首先,你不应该 .ready()在 jQuery Mobile 中使用。始终使用jQuery Mobile 事件

对于您的问题,您需要使用.prop('disabled, false)然后调用增强方法.checkboxradio('refresh')来重新设置复选框的样式。

演示

$('#blah').on('click', function () {
  $('#foo').prop('disabled', false).checkboxradio('refresh');
});
于 2013-09-23T21:02:07.077 回答