如何在 jQuery 中保存后保留选定的单选按钮值

How to keep selected Radio button value after saved in jQuery

我在 VBTML 页面和 jQuery 中有动态单选按钮。我有 3 个单选按钮,当我选择 first/second 单选按钮并单击保存时。选定的单选按钮文本已正确保存到数据库中。但在前端它没有选择保存的单选按钮文本。始终选择最后一个单选按钮。请在下面查看我的代码。请帮助我如何保持选中选中的单选按钮选项。

<table>
<tr>
 <td>
@Code
    For Each item In Model.StudentCourseLookup
    Dim itemName = item.Text
    @<input type="radio" name="CourseDetails" id="@itemName" class="cbxStudentCourse" />
           @<span>@item.Text</span>
            @<br />
            Next
End Code
              @Html.TextBoxFor(Function(m) m.StudentCourse, New With {.style = "display: none;"})
                    </td>
</tr>
</table>

    <script type="text/javascript">

 if ($("#StudentCourse").val !== '') {
            
            var data1 = $("#StudentCourse").val();
            $.each(data1.split('|'), function (_, val) {
                if (val.length > 1) {
              
                    $(':input[name="CourseDetails"]').prop('checked', true);
                }
            });
        }



function OStudentCourseSave() {

 var studentCourseList = ''
            $('.cbxStudentCourse').each(function (index, cbx) {
                if (this.checked === true) {
                    studentCourseList = cbx.id;
                }
            });


 $("#StudentCourse").val(studentCourseList);

 var sc= @Html.Raw(Json.Encode(Model)); //Getting model 

sc.StudentCourse = $("#StudentCourse").val();

}
</Script>

下面这段代码是问题所在:

if (val.length > 1) {
    $(':input[name="CourseDetails"]').prop('checked', true);
}

由于所有单选按钮都具有相同的名称,因此您需要使其更明确一些并开始使用 id,因为这就是您收集的内容。

尝试将其更新为类似这样的内容以查看是否有帮助:

$(':input[id="' + val + '"]').prop('checked', true);

甚至:

$('#' + val).prop('checked', true);