[英]JQuery Mobile Disable/Enable Controls
我已经注意到,与jQuery相比,禁用和启用jQuery Mobile涉及更多。 通过浏览,我注意到我们需要调用控件类型并禁用它:
$('[type="submit"]').button('enable');
问题是这对我不起作用。 我有许多不同类型的控件,但并不是所有人都支持jQuery Mobile方法(例如select-one
似乎没有任何方法)。
我目前正在尝试执行以下操作:
function DisableControlMobile(control, disabled) {
if(control){
var type = control.type;
//Ugly, but we need to get the id string so we can build the jQuery call, as the methods used will throw errors if we do not do this
var id = control.id;
console.log(type + " " + id + " " + disabled);
if (disabled) {
$('#' + id).attr('disabled', 'disabled');
$('#' + id).addClass('ui-disabled');
$('#' + id).addClass('ui-state-disabled');
} else {
$('#' + id).removeClass('ui-disabled');
$('#' + id).removeClass('ui-state-disabled');
$('#' + id).removeAttr('disabled');
}
}
我所有的物品都是asp物品。 例:
<asp:TextBox ID="ArrivalTimeTextBox" runat="server" CssClass="time_textbox" data-clear-btn="true"></asp:TextBox>
似乎add和remove类调用没有任何作用,因为有大量的div用作包装器,它们也都包含禁用的类。
我无法找到完美的解决方案,但是如果代码不知道它将启用/禁用哪种控件,这似乎是最好的解决方案(至少我可以提出)。
if (disabled) {
$('#' + id).parent().addClass('ui-disabled');
$('#' + id).parent().addClass('ui-state-disabled');
$('#' + id).attr('disabled', 'disabled');
$('#' + id).addClass('ui-disabled');
$('#' + id).addClass('ui-state-disabled');
} else {
$('#' + id).parent().removeClass('ui-disabled');
$('#' + id).parent().removeClass('ui-state-disabled');
$('#' + id).removeClass('ui-disabled');
$('#' + id).removeClass('ui-state-disabled');
$('#' + id).attr('disabled', "");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.