首页 > 解决方案 > 如果文本框有文本,则标记复选框

问题描述

我有一个复选框和一个文本框。如果用户在文本框中输入文本,我希望为用户自动检查相应的复选框。如果他们改变主意,当然可以选择取消选中它。

@Html.CheckBoxFor(m => m.FirstPledge)
@Html.TextBoxFor(m => m.FirstPledgeText, new { @class = "textBoxSize" })

标签: razormodel-view-controllercheckboxtextbox

解决方案


您可以收听该keyup事件,检查文本框中的内容是否有效并将checked复选框的属性设置为true

这是使用 jQuery 执行此操作的代码。

$(function () {
    $("#FirstPledgeText").keyup(function () {
        if($.trim($(this).val())!=="")
        {
            $("#FirstPledge").prop("checked", true);
        }
    });   
})

如果要在文本框为空时取消选中复选框,请在 if 条件中添加 else 部分并falsechecked属性设置。

如果你愿意,你也可以在 vanilla JavaScript 中做同样的事情。


推荐阅读