繁体   English   中英

如何 DRY javascript 代码以最小化冗余

[英]How to DRY javascript code to minimize redundancy

当涉及到 DRYing 代码时,我是 Javascript 的新手。 有人可以帮我干燥这个javascript代码吗

这是 JS 代码从以下位置获取数据的地方:

<div class="form-group">
    @Html.LabelFor(model => model.eMP.EMPNO, "Employee Number", htmlAttributes: new { @class = "control-label" })
    @Html.EditorFor(model => model.eMP.EMPNO, new { htmlAttributes = new { @class = "form-control", @id = "EMPNO" } })
    @Html.ValidationMessageFor(model => model.eMP.EMPNO, "", new { @class = "text-danger" })
</div>

这就是价值应该去的地方:

<div class="form-group">
    @Html.LabelFor(model => model.Emp_educ.EMPNO, "EMPNO", htmlAttributes: new { @class = "control-label" })
    @Html.EditorFor(model => model.Emp_educ.EMPNO, new { htmlAttributes = new { @class = "form-control", @id = "EMPNOEDUC", readOnly = "readonly" } })
    @Html.ValidationMessageFor(model => model.Emp_educ.EMPNO, "", new { @class = "text-danger" })
</div>

到目前为止,这是我的代码,我目前正在尝试最小化代码的冗余。 有没有办法干掉这段代码?

$(document).ready(function () {
    $("#EMPNOEDUC").val($("#EMPNO").val());
    $("#EMPNOJOBHIST").val($("#EMPNO").val());
    $("#EMPNOREFERENCE").val($("#EMPNO").val());
    $("#EMPNOLICENSES").val($("#EMPNO").val());
});

向输入添加一个类,然后您可以在一行中设置值$("#EMPNO").val()

$(document).ready(function () {
    $(".myinputs").val($("#EMPNO").val());
});

您可以在组合的 jQuery 选择器中列出目标 ID,如下所示:

$("#EMPNOEDUC, #EMPNOJOBHIST, #EMPNOREFERENCE, #EMPNOLICENSES").doSomething(...)

演示:

 $(document).ready(function() { $("#EMPNOEDUC, #EMPNOJOBHIST, #EMPNOREFERENCE, #EMPNOLICENSES").val($("#EMPNO").val()); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Source:<br /> <input id="EMPNO" value="123456" /><br /> <br /> Targets:<br /> <input id="EMPNOEDUC" /><br /> <input id="EMPNOJOBHIST" /><br /> <input id="EMPNOREFERENCE" /><br /> <input id="EMPNOLICENSES" /><br />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM