[英]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.