Как изменить имя скрытого поля, которое генерируется с помощью checkboxfor

У меня есть частичный вид, похожий на ниже.

@model IEnumerable<elearnerhub.Common.Entities.ViewModel.elearnerhub.vm_eLearning_Master_QuestionSet_AnswerOptions>

    @foreach (var item in Model)
    {
        <div class="form-group">
            @Html.LabelFor(m => item.AnswerShownOrder,item.AnswerShownOrder.ToString(), new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
            <div class="col-md-4 col-sm-4 col-xs-4">
                @Html.TextBoxFor(m => item.AnswerOptionText, new { @class = "form-control", @id=item.PK_MasterQuestion_AnswerOptionID, Name = "AnswerOptionText" })


            </div>
            <div class="col-md-2 col-sm-2 col-xs-2">

                @Html.CheckBoxFor(m => item.CorrectAnswer, new { @class = "form-control", @id = "chk"+item.PK_MasterQuestion_AnswerOptionID, @Name = "CorrectAnswer" })

            </div>
        </div>
    }

public PartialViewResult _QuestionAnswerOptions(Int64 noofoptions)
    {

        List<vm_eLearning_Master_QuestionSet_AnswerOptions> _vm_eLearning_Master_QuestionSet_AnswerOptions = new List<vm_eLearning_Master_QuestionSet_AnswerOptions>();


        for(int i = 0; i <= noofoptions-1; i++)
        {
            var obj = new vm_eLearning_Master_QuestionSet_AnswerOptions
            {
                PK_MasterQuestion_AnswerOptionID= i + 1,
                AnswerShownOrder=i+1,
                AnswerOptionText="",
                CorrectAnswer=false


            };
            _vm_eLearning_Master_QuestionSet_AnswerOptions.Add(obj);
        }

        return PartialView("_QuestionSet_AnswerOptions");
    }

и скрытое поле генерируется с помощью флажка с другим именем .please см. снимок экрана элемента проверки

введите описание изображения здесь

Как установить имя скрытого поля так же, как и флажок?

Ответ 1

Вы можете использовать этот простой фрагмент в качестве своего решения -

Здесь .dropDownClass должен быть классом, который вы использовали для dropdown

$('body').on('change', '.dropDownClass', function() {
  var naMe = $('#chk1').attr('name')
  $('#chk1').parent().find('input[type="hidden"]').attr('name', naMe)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select name="" id="" class="dropDownClass">
	<option value="1">1</option>
	<option value="2">2</option>
</select>

<div class="col-md-2">
  <input id="chk1" class="form-control" name="CorrectAnswer" data-value="true" value="true" type="checkbox">
  <input name="item.CorrectAnswer" value="false" type="hidden">
</div>