Как заменить имена против идентификаторов в выражении расчета? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть три раскрывающихся списка, и в этих раскрывающихся списках есть идентификаторы и имена. Пользователь выбирает несколько элементов из этих списков и нажимает кнопку выбора. Все выбранные элементы (имена) отображаются в текстовой области после применения арифметики c операторы (+, -, *, /) нажимают кнопку сохранения, и это выражение сохраняется в БД, например (item1 + item2) / item4, но вместо этого выражения я хочу сохранить идентификаторы этих элементов в базе данных, такие как ( 1 + 2) /4.Я использую asp. net MVC и bootstrap с JS для интерфейса.

enter image description here

   //Code
     <div class="row">
        <div class="col-sm-4">
          <div class="form-group">
           <label>Select Real Tags</label>
      @Html.DropDownListFor(m => m.DependancyMatrixVM.Real_Tag_Id_FK, (IEnumerable<SelectListItem>)ViewBag.RawTagList, new { @class = "form-control", @multiple = true, id = "Raw_Tag_List" })
      @Html.ValidationMessageFor(m => m.DependancyMatrixVM.Real_Tag_Id_FK, "", new { @class = "text-danger" })
               </div>
              </div>
             <div class="col-sm-4">
          <div class="form-group">
         <label>Select Calculated Tags</label>
   @Html.DropDownListFor(m => m.DependancyMatrixVM.Cal_Tag_Id_FK, (IEnumerable<SelectListItem>)ViewBag.CalculatedTag, new { @class = "form-control", @multiple = true, id = "Calculated_Tag_List" })
     @Html.ValidationMessageFor(m => m.DependancyMatrixVM.Cal_Tag_Id_FK, "", new { @class = "text-danger" })
                                        </div>
                                    </div>
          <div class="col-sm-4">
             <div class="form-group">
              <label>Select Manual Tags</label>
  @Html.DropDownListFor(m => m.DependancyMatrixVM.MF_Tag_Id_FK, (IEnumerable<SelectListItem>)ViewBag.ManualTagList, new { @class = "form-control", @multiple = true, id = "Manual_Tag_List" })
    @Html.ValidationMessageFor(m => m.DependancyMatrixVM.MF_Tag_Id_FK, "", new { @class = "text-danger" })
                                        </div>
                                    </div>
                                </div>

       <div class="form-group">
          <center><button type="button" class="btn btn-primary" id="selection_button">Select Tags</button></center>
                                </div>


                                <!-- Target Tags Values Tabs End Here -->
                                <div id="tag_selections" >
                                    <div class="form-group">
                                        <div class="card-header" style="background-color:#343a40;margin-top:2px;">
                                            <h3 class="card-title" style="color:white">Formula</h3>
                                        </div> 
                                        @Html.TextAreaFor(m => m.Formula, new { @class = "form-control", id = "total_selections" })
                                    </div>

                                    <div class="form-group">
                                        <center><button type="submit" class="btn btn-primary">Create Calculated Tag</button></center>
                                    </div>
                                </div>

        $(function () {

            $("#selection_button").click(function () {
                if ($("#Raw_Tag_List").change || $("#Calculated_Tag_List").change || $("#Manual_Tag_List").change) {
                    $("#total_selections").html("");
                    $("#total_selections").append($("#Raw_Tag_List option:selected").map(function () {
                        return $(this).text();
                    }).get().join(','));
                    $("#total_selections").append(',');
                    $("#total_selections").append($("#Calculated_Tag_List option:selected").map(function () {
                        return $(this).text();
                    }).get().join(','));
                    $("#total_selections").append(',');
                    $("#total_selections").append($("#Manual_Tag_List option:selected").map(function () {
                        return $(this).text();
                    }).get().join(','));
                }

            });
        });
...