簡體   English   中英

如何在jQuery onload中選中復選框

[英]How to make checkbox checked in jQuery onload

在這里,我正在編輯表格。 我有兩個數組。 在一個數組( allAmenities )中,我擁有所有設施的名稱; 第二個數組( particularPropertyAmenity )只有兩個便利設施名稱。

我要選中此設施名稱復選框。 我怎樣才能做到這一點?

 var htmlString = ''; $(document).ready(function() { var allAmenities = { "status": "success", "count": 3, "data": [{ "amenityId": "1", "propertylistId": "1", "amenityName": "Lift", }, { "amenityId": "2", "propertylistId": "1", "amenityName": "Gym", }, { "amenityId": "3", "propertylistId": "1", "amenityName": "Swimming Pool", }, { "amenityId": "4", "propertylistId": "1", "amenityName": "Power backup", }, { "amenityId": "5", "propertylistId": "1", "amenityName": "Security", }, ] }; var particularPropertyAmenity = [{ "amenityName": "Lift", "amenityStatus": "Active" }, { "amenityName": "Security", "amenityStatus": "Active" }] htmlString += '<form>First Name: <input type="text" name="fname"><br></br><span id="linz"></span>'; $.each(allAmenities['data'], function(key, value) { htmlString += 'Amenities: <input type="checkbox" name="amenity_check[]" class="customcheckbox" value="' + value.amenityName + '"> ' + value.amenityName + ''; }); $('#linz').append(htmlString); htmlString += '</form>'; $('.rentEdit').empty().append(htmlString); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="rentEdit"></div> 

預期產量:

電梯和安全復選框必須選中。

您可以使用Array.some() checked Array中是否存在當前便利設施,並根據真實情況添加checked屬性

var setChecked = particularPropertyAmenity.some(function(e) {
  return e.amenityName == value.amenityName;
});
htmlString += 'Amenities:  <input type="checkbox" ' + (setChecked ? 'checked' : '') + ' name="amenity_check[]"  class="customcheckbox" value="' + value.amenityName + '"> ' + value.amenityName + '<br>';

 var htmlString = ''; $(document).ready(function() { var allAmenities = { "status": "success", "count": 3, "data": [{ "amenityId": "1", "propertylistId": "1", "amenityName": "Lift", }, { "amenityId": "2", "propertylistId": "1", "amenityName": "Gym", }, { "amenityId": "3", "propertylistId": "1", "amenityName": "Swimming Pool", }, { "amenityId": "4", "propertylistId": "1", "amenityName": "Power backup", }, { "amenityId": "5", "propertylistId": "1", "amenityName": "Security", }, ] }; var particularPropertyAmenity = [{ "amenityName": "Lift", "amenityStatus": "Active" }, { "amenityName": "Security", "amenityStatus": "Active" } ] htmlString += '<form>First Name: <input type="text" name="fname"><br></br><span id="linz"></span>'; $.each(allAmenities['data'], function(key, value) { var setChecked = particularPropertyAmenity.some(function(e) { return e.amenityName == value.amenityName; }); htmlString += 'Amenities: <input type="checkbox" ' + (setChecked ? 'checked' : '') + ' name="amenity_check[]" class="customcheckbox" value="' + value.amenityName + '"> ' + value.amenityName + '<br>'; }); $('#linz').append(htmlString); htmlString += '</form>'; $('.rentEdit').empty().append(htmlString); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="rentEdit"></div> 

使用屬性選擇器:

  $.each( particularPropertyAmenity, function( key, value ) {  
                   if(value.amenityStatus=="Active")
                   {
                    $("input[value='"+value.amenityName+"']").prop("checked",true);
                   }
})

這是一個演示:

 var htmlString = ''; $(document).ready(function(){ var allAmenities = { "status": "success", "count": 3, "data": [{ "amenityId": "1", "propertylistId": "1", "amenityName": "Lift", }, { "amenityId": "2", "propertylistId": "1", "amenityName": "Gym", }, { "amenityId": "3", "propertylistId": "1", "amenityName": "Swimming Pool", }, { "amenityId": "4", "propertylistId": "1", "amenityName": "Power backup", }, { "amenityId": "5", "propertylistId": "1", "amenityName": "Security", }, ] }; var particularPropertyAmenity = [ { "amenityName": "Lift", "amenityStatus": "Active" }, { "amenityName": "Security", "amenityStatus": "Active" } ] htmlString += '<form>First Name: <input type="text" name="fname"><br></br><span id="linz"></span>'; $.each( allAmenities['data'], function( key, value ) { htmlString += 'Amenities: <input type="checkbox" name="amenity_check[]" class="customcheckbox" value="'+value.amenityName+'"> '+value.amenityName+''; }); $('#linz').append(htmlString); htmlString +='</form>'; $('.rentEdit').empty().append(htmlString); $.each( particularPropertyAmenity, function( key, value ) { if(value.amenityStatus=="Active") { $("input[value='"+value.amenityName+"']").prop("checked",true); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="rentEdit"></div> 

您可以將“已檢查”添加到您的便利設施數據中,並使用它來設置要檢查的特定框。

var htmlString = '';
$(document).ready(function() {
  var allAmenities = {
    "status": "success",
    "count": 3,
    "data": [{
        "amenityId": "1",
        "propertylistId": "1",
        "amenityName": "Lift",
      }, {
        "amenityId": "2",
        "propertylistId": "1",
        "amenityName": "Gym",
      }, {
        "amenityId": "3",
        "propertylistId": "1",
        "amenityName": "Swimming Pool",
      }, {

        "amenityId": "4",
        "propertylistId": "1",
        "amenityName": "Power backup",
      }, {
        "amenityId": "5",
        "propertylistId": "1",
        "amenityName": "Security",
      },

    ]
  };
  var particularPropertyAmenity = [{
    "amenityName": "Lift",
    "amenityStatus": "Active"
  }, {
    "amenityName": "Security",
    "amenityStatus": "Active"
  }]

  htmlString += '<form>First Name: <input type="text" name="fname"><br></br><span id="linz"></span>';

  $.each(allAmenities['data'], function(key, value) {
    var active = false;
    $.each(particularPropertyAmenity, function(i, v) {
      if (v.amenityName == value.amenityName) {
        active = v.amenityStatus == "Active";
        return;
      }
    });
    htmlString += 'Amenities:  <input type="checkbox" name="amenity_check[]"  class="customcheckbox" value="' + value.amenityName + '" ' + (active ? 'checked' : '') + '> ' + value.amenityName + '';
  });
  $('#linz').append(htmlString);

  htmlString += '</form>';

  $('.rentEdit').empty().append(htmlString);

});

http://jsfiddle.net/jpwkyw37/1/

在腳本中添加以下代碼。

$.each(particularPropertyAmenity, function(key, value) {
  $("input[value='"+value.amenityName+"']").prop('checked', true);
});

 var htmlString = ''; $(document).ready(function(){ var allAmenities = { "status": "success", "count": 3, "data": [{ "amenityId": "1", "propertylistId": "1", "amenityName": "Lift", }, { "amenityId": "2", "propertylistId": "1", "amenityName": "Gym", }, { "amenityId": "3", "propertylistId": "1", "amenityName": "Swimming Pool", }, { "amenityId": "4", "propertylistId": "1", "amenityName": "Power backup", }, { "amenityId": "5", "propertylistId": "1", "amenityName": "Security", }] }; var particularPropertyAmenity = [ { "amenityName": "Lift", "amenityStatus": "Active" }, { "amenityName": "Security", "amenityStatus": "Active" }] htmlString += '<form>First Name: <input type="text" name="fname"><br></br><span id="linz"></span>'; $.each( allAmenities['data'], function( key, value ) { htmlString += 'Amenities: <input type="checkbox" name="amenity_check[]" class="customcheckbox" value="'+value.amenityName+'"> '+value.amenityName+''; }); $('#linz').append(htmlString); htmlString +='</form>'; $('.rentEdit').empty().append(htmlString); $.each(particularPropertyAmenity, function(key, value) { $("input[value='"+value.amenityName+"']").prop('checked', true); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="rentEdit"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM