[英]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.