是禁用/启用jQuery Mobile输入的常用方法吗?

我有一个编辑表单填充jQuery Mobile输入,如文本输入,滑块,复选框和按钮。 首次显示表单时,将获取要编辑的内容(模型)。

在开始提取之前,我禁用所有表单元素以防止用户在获取内容(模型)时执行任何操作。 只有取消按钮才有效。 “已禁用”表示灰色,不能为我点击。

表单完成加载后,我再次启用表单元素。

目前,我只能通过自己选择每种输入类型来做到这一点。

//These inputs work with .prop("disable", "true") //#save is an 

为了启用,我甚至必须调用slider()和checkboxradio()初始化方法,因为我得到一个错误( cannot call methods of xxx prior to initialization. attempted to call method enable

是否有一种方法可以通过仅使用一个选择器来正确禁用所有jQuery Mobile输入? 禁用/启用输入的常用方法是什么?

您可以使用ui-state-disabled类来禁用任何元素。 jQM将此类添加到disableddisabled="disabled"属性。

它可以添加到form

 $("#form").addClass("ui-state-disabled"); 

通过元素,即input ,它应该被添加到父div,因为input在创建时被包装在div中。

 $("input").closest("div").addClass("ui-state-disabled"); 

演示