我尝试使用jquery在我的编辑表单中将值设置为“已选中”。 这是我的HTML:
var leaveTypeId = $(this).closest('tr').attr('data-leaveTypeId');
$('#leave_type_edit option[value = leaveTypeId]').attr('selected', 'selected');
<div class="col-sm-8">
<select name="leave_type" class="select2-container form-control" id="leave_type_edit">
<option></option>
<?php foreach ($LeaveTypes as $LeaveTypeNew):?>
<option value="<?php echo $LeaveTypeNew->id; ?>"><?php echo $LeaveTypeNew->title; ?></option>
<?php endforeach; ?>
</select>
</div>
如果重要,则使用select2插件初始化select元素。 任何帮助表示赞赏。感谢。
答案 0 :(得分:2)
你可以使用:
$('#leave_type_edit').val(leaveTypeId );
它与示例相同:
$('#get-id').on('click', function () {
let value_select = $(this).attr('data-leaveTypeId');
$('#leave_type_edit').val(value_select);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="col-sm-8">
<select name="leave_type" class="select2-container form-control" id="leave_type_edit">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
<button id="get-id" data-leaveTypeId="2">id check</button>
&#13;
答案 1 :(得分:2)
它不会起作用,因为你没有将它作为变量,你实际推出的是字符串leaveTypeId
而不是它的值
更改
var leaveTypeId = $(this).closest('tr').attr('data-leaveTypeId');
$('#leave_type_edit option[value = leaveTypeId]').attr('selected', 'selected');
到
var leaveTypeId = $(this).closest('tr').attr('data-leaveTypeId');
$('#leave_type_edit option[value='+leaveTypeId+']').attr('selected', 'selected');
希望这有助于你
答案 2 :(得分:1)
试试这个:
$('#leave_type_edit').change(function(){
var leaveTypeId = $(this).closest('tr').attr('data-leaveTypeId');
if($(this).val == leaveTypeId){
$(this).find('option').attr('selected','selected');
}
});
或强>
$('#leave_type_edit').change(function(){
var leaveTypeId = $(this).closest('tr').attr('data-leaveTypeId');
$(this).find('option[value="'+leaveTypeId+'"]').attr('selected','selected');
});
没有change
但onload
:
var leaveTypeId = 2; // for example
$('#leave_type_edit').find('option[value="'+leaveTypeId+'"]').attr('selected','selected');
<强> Working Demo 强>