重新启用文本字段

时间:2017-01-26 14:56:40

标签: jquery html

我有两个相互关联的文本字段(a和b),如果将值输入a,则两者的默认值均为0,b被禁用。如果将值输入b,则禁用a。将值输入a之后,如果我擦除了值b会自动启用但我发现如果我输入默认值0,则禁用字段将不会启用我想要它,任何建议如何重新启用b如果我在一个输入0。谢谢 这是我在我看来的代码

<div class="row form-group">
    <label for="DateTo" class="col-sm-5 control-label">Flat Discount Percent</label>
    <div class="col-sm-2">
        @Html.TextBoxFor(m => m.vwdecimal0, new { @class = "form-control", @maxlength = 7, id = "id_dispercent" })
    </div>
</div>
<div class="row form-group">
    <label for="DateTo" class="col-sm-5 control-label">Flat Discount Amount</label>
    <div class="col-sm-2">
        @Html.TextBoxFor(m => m.vwdecimal1, new { @class = "form-control", @maxlength = 11, id = "id_disamount" })
    </div>
</div>

我的剧本

var id_dispercent = document.getElementById('id_dispercent'),
    id_disamount = document.getElementById('id_disamount');

function enableToggle(current, other) {
    other.disabled = current.value.replace(/\s+/, '').length > 0;
}

id_dispercent.onkeyup = function () {
    enableToggle(this, id_disamount);
}

id_disamount.onkeyup = function () {
    enableToggle(this, id_dispercent);
}

1 个答案:

答案 0 :(得分:0)

这就是我最终解决这个问题的方法。

$("#id_disamount").change(function () {
            var com = $("#id_disamount").val();
            if (com > 0)
                $("#id_dispercent").attr("disabled", "disabled");
            else
                $("#id_dispercent").removeAttr("disabled");
        });

        $("#id_dispercent").change(function () {
            var com = $("#id_dispercent").val();
            if (com > 0)
                $("#id_disamount").attr("disabled", "disabled");
            else
                $("#id_disamount").removeAttr("disabled");
        });

当另一个恢复默认时,它可用于禁用和重新启用教科书。