我对JQuery / Javascript很陌生,并尝试在某些行中禁用带有class="settle-button"
的按钮,这些行根据带有{{td-element的值放置在动态生成的表中1}}它。
我想出了以下代码:
class="total"
不幸的是,如果只有一个按钮恰好为0.00,则此代码会禁用所有按钮。如何使这个代码只更改当前行中的按钮?还有其他方法可以改进吗?
(PS我无法在此Fiddle中重现此问题)
答案 0 :(得分:1)
您的if
声明读错了。 .val()
用于获取表单元素,输入,选择等的值。使用.html()
检查TD中的文本。
试试这个 -
$(function () {
$('table tr').each(function () {
if ($(this).find('.total').html() == 0.00) {
$(this).find('.settle-button').prop('disabled', true);
}
else {
$(this).find('.settle-button').prop('disabled', false);
}
});
});
以下是更新fiddle
Karl-Andre提出的好点 - 使用.prop
。
从jQuery 1.6开始,.attr()方法为属性返回undefined 尚未设定。检索和更改DOM属性,例如 选中,选中或禁用表单元素的状态,使用 .prop()方法。