【问题标题】:How to keep selected Radio button value after saved in jQuery保存在jQuery中后如何保留选定的单选按钮值
【发布时间】:2021-09-02 13:41:59
【问题描述】:

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

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

【问题讨论】:

  • 您最好使用表单,它可以让您免于编写所有那些只会使代码变得不必要的复杂的循环。否则您将面临重新加载由.Net技术制作的页面的问题。为此,您必须初始化先前选择的单选元素(如果您使用表单,这也将更容易完成)
  • 在创建收音机时设置checked 属性&lt;input type="radio" checked="@ischecked"..(已使用服务器端vbthml razor 检查设置)
  • 或使用@Html.RadioButtonFor 并让系统为您重新填充它(另见stackoverflow.com/a/10805741/2181514

标签: javascript html jquery .net vb.net


【解决方案1】:

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

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

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

尝试将其更新为类似的内容,看看是否有帮助:

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

甚至:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多