简体   繁体   English

jQuery获取数据属性并设置正确的选定选项

[英]jQuery getting data attribute and setting correct selected option

I am new to jQuery and think I'm close to what I'm needing. 我是jQuery的新手,认为我已经接近需要的东西。

I need to get the value from the data-status and then set the correct select option and selected. 我需要从数据状态获取值,然后设置正确的选择选项并选中。

 // set default status $('.column.small').each(function() { var $currentStatus = $(this); var optionStatus = $currentStatus.data('status'); // u = updated // n = new if (optionStatus == 'u') { foundStatus = $currentStatus.find('select option'); if ($(foundStatus).val() == 'u') { $(this).attr('selected', 'selected'); } else if ($(foundStatus).val() == 'n') { $(this).attr('selected', 'selected'); } } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div data-status="u" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_1_Status" name="PC_Row_1_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> <div data-status="u" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_2_Status" name="PC_Row_2_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> <div data-status="n" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_3_Status" name="PC_Row_3_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> <div data-status="n" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_4_Status" name="PC_Row_4_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> 

You should simply use .val() method to set the value of element. 您应该只使用.val()方法来设置element的值。

// set default status
$('.column.small').each(function() {
      var $currentStatus = $(this);
      var optionStatus = $currentStatus.data('status');
      $currentStatus.find('select').val(optionStatus);
});

 // set default status $('.column.small').each(function() { var $currentStatus = $(this); var optionStatus = $currentStatus.data('status'); $currentStatus.find('select').val(optionStatus); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div data-status="u" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_1_Status" name="PC_Row_1_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> <div data-status="u" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_2_Status" name="PC_Row_2_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> <div data-status="n" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_3_Status" name="PC_Row_3_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> <div data-status="n" class="column small grey" selected="selected"> <div class="form-group"> <select id="PC_Row_4_Status" name="PC_Row_4_Status" ccm-passed-value="u" class="form-control"> <option value="u" selected="selected">Updated</option> <option value="n">New</option> </select> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM