【问题标题】:Read model value and disable certain textbox when page load页面加载时读取模型值并禁用某些文本框
【发布时间】:2021-11-19 16:35:33
【问题描述】:

我想问一下如何实现按条件禁用文本框。例如,当下拉列表选择“卡”时。将出现佣金文本字段。如果模型值为“现金”,则佣金文本字段将被隐藏。

<div class="k-edit-field">
   @(Html.Kendo().DropDownListFor(model => model.PAY_TYPE)
   .DataTextField("NAME")
   .DataValueField("CODE")
   .DataSource(source =>
   {
     source.Read(read =>
     {
      read.Action("GetPayType", "Payment");
     });
   })
  .HtmlAttributes(new { style = "width: 100%", @id = "payType"})
  )
 </div>

<div class="k-edit-field" id="ASD">
  @Html.EditorFor(model => model.PAY_COMM)
  @Html.ValidationMessageFor(model => model.PAY_COMM)
</div>

JavaScript

jQuery(document).ready(function () {
    $("#payType").on("change", function () {
        if ($(this).val() == "C") {
            $('#Comm').show();
        } else {
            $('#Comm').hide();
        }
    });

    $("#payType").trigger("change");
});

【问题讨论】:

  • 用js就对了,你要改什么,不用js?
  • @YiyiYou ,实际上我想在页面加载完成后制作它。如果模型值不是“C”或它是,该字段将自动隐藏/出现。现在它只在我选择下拉值时触发。

标签: javascript jquery asp.net-core


【解决方案1】:

您需要在页面加载和下拉列表更改时检查该值。

function changeComm() {
            if ($("#payType").val() == "C") {
                $('#Comm').show();
            } else {
                $('#Comm').hide();
            }
        }
        jQuery(document).ready(function () {
            changeComm();
            $("#payType").on("change", function () {
                changeComm();
            });

            $("#payType").trigger("change");
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2021-08-09
    • 2013-12-11
    • 1970-01-01
    相关资源
    最近更新 更多