如何根据同一行中td-element的输入禁用一行按钮?

时间:2013-11-29 14:57:40

标签: javascript jquery html

我对JQuery / Javascript很陌生,并尝试在某些行中禁用带有class="settle-button"的按钮,这些行根据带有{{td-element的值放置在动态生成的表中1}}它。

我想出了以下代码:

class="total"

不幸的是,如果只有一个按钮恰好为0.00,则此代码会禁用所有按钮。如何使这个代码只更改当前行中的按钮?还有其他方法可以改进吗?

(PS我无法在此Fiddle中重现此问题)

1 个答案:

答案 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()方法。

.prop()