Jquery 各禁用
Jquery each disabled
使用此代码:
http://jsfiddle.net/oreli/7wdq6ktn/
我喜欢以下行为:
- 当输入为"disabled"时:标签为红色
- 当输入不是"disabled"时:标签为绿色
(反之亦然,不管 :) )
但我还是全红或者全绿。
我的错误是什么?
谢谢
$(document).ready(function () {
$( ".choice" ).each(function() {
if($(".orderChoice").is(":disabled")) {
$(".choice").addClass('disabled').remove('notdisabled');
} else {
$(".choice").addClass('notdisabled').remove('disabled');
};
});
});
您正在选择所有 .choice
并应用 class。使用上下文:
$(document).ready(function () {
$( ".choice" ).each(function() {
if($(this).find("input").is(":disabled")) {
$(this).addClass('disabled').remove('notdisabled');
} else {
$(this).addClass('notdisabled').remove('disabled');
};
});
});
Fiddle: http://jsfiddle.net/7wdq6ktn/2/
您需要检查当前输入元素,使用 this
。否则它将始终检查具有 class
的第一个元素
$(document).ready(function() {
$(".choice").each(function() {
if ($(this).find(".orderChoice").is(":disabled")) {
$(this).addClass('disabled').remove('notdisabled');
} else {
$(this).addClass('notdisabled').remove('disabled');
};
});
});
尝试更改您的 each
功能。每个中的 $(selector) 不引用当前迭代元素。试试这个:
$( ".choice" ).each(function(index, element) {
if($(element).is(":disabled")) {
$(element).addClass('disabled').remove('notdisabled');
} else {
$(element).addClass('notdisabled').remove('disabled');
};
});
使用此代码: http://jsfiddle.net/oreli/7wdq6ktn/
我喜欢以下行为:
- 当输入为"disabled"时:标签为红色
- 当输入不是"disabled"时:标签为绿色 (反之亦然,不管 :) )
但我还是全红或者全绿。
我的错误是什么?
谢谢
$(document).ready(function () {
$( ".choice" ).each(function() {
if($(".orderChoice").is(":disabled")) {
$(".choice").addClass('disabled').remove('notdisabled');
} else {
$(".choice").addClass('notdisabled').remove('disabled');
};
});
});
您正在选择所有 .choice
并应用 class。使用上下文:
$(document).ready(function () {
$( ".choice" ).each(function() {
if($(this).find("input").is(":disabled")) {
$(this).addClass('disabled').remove('notdisabled');
} else {
$(this).addClass('notdisabled').remove('disabled');
};
});
});
Fiddle: http://jsfiddle.net/7wdq6ktn/2/
您需要检查当前输入元素,使用 this
。否则它将始终检查具有 class
$(document).ready(function() {
$(".choice").each(function() {
if ($(this).find(".orderChoice").is(":disabled")) {
$(this).addClass('disabled').remove('notdisabled');
} else {
$(this).addClass('notdisabled').remove('disabled');
};
});
});
尝试更改您的 each
功能。每个中的 $(selector) 不引用当前迭代元素。试试这个:
$( ".choice" ).each(function(index, element) {
if($(element).is(":disabled")) {
$(element).addClass('disabled').remove('notdisabled');
} else {
$(element).addClass('notdisabled').remove('disabled');
};
});