繁体   English   中英

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

[英]Is the a common way to disable/enable jQuery Mobile inputs?

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

在开始提取之前,我禁用了所有表单元素,以防止用户在提取内容(模型)时执行任何操作。 只有取消按钮应该起作用。 “已禁用”是指变灰且无法点击。

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

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

//These inputs work with .prop("disable", "true")
//#save is an <button type="submit">
var normalInputs = $("input[type='text'], #save");
//JQM converts <input type="range"> to this
var sliders = $("input[data-type='slider']");
var checkboxes = $("input[type='checkbox']");

normalInputs.prop("disabled", "true");
sliders.slider("disable").slider("refresh");
checkboxes.checkboxradio("disable").checkboxradio("refresh");

为了启用它,我什至必须调用slider()和checkboxradio()初始化方法,因为否则会出错( cannot call methods of xxx prior to initialization. attempted to call method enable

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

您可以使用ui-state-disabled禁用任何元素。 该类由JQM添加到具有禁用 disabled="disabled"属性。

可以将其添加到form

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

按元素(即input ,应将其添加到父div中,因为在创建时将input包装在div中。

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

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM