如何根据jquery中单选按钮的值勾选页面加载的复选框?

时间:2014-09-09 09:08:51

标签: jquery asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

<script>
//For the rooms
$(document).ready(function () {
    var tpropval = $('input[name=Typeofproperty]:checked').val()
    if (tpropval != 'Plot' || tpropval != 'Studio Appartment') {
        $('#chkroomdetails').show();         

    }

    else {
        $('#chkroomdetails').hide();

    }
})

 <div id="chkroomdetails" class="roomdetails">

                    <h5>* Room Details :</h5>


                    <input type="checkbox" class="roomdetails" name="Roomdetails" id="1bed" value="1BHK" />1 BHK



                      <input type="checkbox" class="roomdetails" name="Roomdetails" id="2bed" value="2BHK" />2 BHK



                      <input type="checkbox" class="roomdetails" name="Roomdetails" id="3bed" value="3BHK" />3 BHK



                      <input type="checkbox" class="roomdetails" name="Roomdetails" id="4bed" value="4BHK" />4 BHK


                      <input type="checkbox" class="roomdetails" name="Roomdetails" id="5bed" value="5BHK" />5 BHK

         @Html.ValidationMessageFor(model => model.Roomdetails)
                </div>


<script type="text/javascript">
$(document).ready(function () {
    var arr = $("#hiddenroomdetails").val().split(", ");
    $('input[type=checkbox]').each(function () {
        if ($.inArray($(this).val(), arr) >= 0) {
            $(this).attr("checked", true);
        }
    });
});

我有两个公寓和房子的单选按钮。名为“hiddenroomdetails”的属性是该模型的属性,该属性包含2BHK和3BHK等房屋类型的房间细节。在db中,它们以逗号分隔(“,”)存储。在检索这个jquery的细节时,我没有在编辑页面上勾选复选框。

2 个答案:

答案 0 :(得分:2)

而不是$(this).attr("checked", true);使用$(this).prop("checked", true);或使用$(this).attr("checked", "checked");

编辑后,您的完整jquery代码应该是:

$(document).ready(function () {
  var tpropval = $('input[name=Typeofproperty]:checked').val()
  if (tpropval != 'Plot' || tpropval != 'Studio Appartment') {         
    var arr = $("#hiddenroomdetails").val().split(", ");
    $('input[type=checkbox]').each(function () {
      if ($.inArray($(this).val(), arr) > -1) {
        $(this).prop("checked", true);
      }
    });
    $('#chkroomdetails').show();
  }

  else {
    $('#chkroomdetails').hide();
  }
});

答案 1 :(得分:0)

试试这个:

$(this).attr("checked", "checked");