Как DRY javascript код, чтобы минимизировать избыточность - PullRequest
0 голосов
/ 27 января 2020

Я новичок в Javascript, когда дело доходит до СУШКИ. Может ли кто-нибудь любезно помочь мне DRY этот 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>

И здесь значение должно go:

<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>

Пока это мой код, в настоящее время я пытаюсь минимизировать избыточность кода. Есть ли способ DRY этот код?

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

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Вы можете перечислить идентификаторы целей в комбинированном селекторе jQuery следующим образом:

$("#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 />
0 голосов
/ 27 января 2020

Добавьте класс к входам, а затем вы можете установить значение $("#EMPNO").val() в одну строку

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