我正在使用jQuery UI并尝试禁用数据组中的所有文本框,但每次加载选项卡时才会执行此操作。以下是我到目前为止的情况:
$(function () {
$("#tabs").tabs({
cache: true,
load: function (event, ui) {
$(".data-group").one('load', function () {
$(this).find(':text').attr('disabled', 'disabled');
});
},
select: function (event, ui) {
// Do Stuff
}
});
});
结果是我可以启用文本框(通过界面),输入数据,但是当我从选项卡切换回来并切换回来时,值就在文本框中(如果出现则显示验证消息)是数据中的错误),但所有框都被禁用。
解决此问题的建议?
答案 0 :(得分:0)
尝试绑定到show
事件,类似于“如果至少有一个文本输入中有数据然后启用它们”,例如:
show: function(event, ui) {
if($(".data-group").find(":text[value]").length) {
$(".data-group").find(":text").removeAttr("disabled");
}
}
答案 1 :(得分:0)
我最终通过缓存标签来解决这个问题,因此它们只加载一次。然后,我启用相应的文本框。从那时起,用户的操作将确定是否启用了其他框。