我有两个相互关联的文本字段(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);
}
答案 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");
});
当另一个恢复默认时,它可用于禁用和重新启用教科书。