我有一个动态表单,有多个下拉列表。每个下拉列表都由人员姓名组成。我的问题是我不知道如何设置默认值。 在更新表单中,我只使用标准下拉列表,然后我可以设置初始值,但我想在所有表单中使用select2作为标准下拉列表。
这是我的代码:
<!-- OLD DROPDOWN WORKS FINE -->
<select class="form-control input-sm" name="contract_main_jp_officer[]">
<?php if($v['main_jp'] == 0) { ?>
<option value=""> -- SELECT OFFICER --</option>
<?php } ?>
<?php select_officer($v['main_jp']); ?>
</select>
<!-- I USED SELECT2 DROPDOWN -->
<input type="text" class="form-control officer_selection input-sm form_control_outline input_white upper off_sel" name="contract_main_jp_officer[]" value="<?php echo set_value('contract_main_jp_officer', 0); ?>" />
<label for="name" class="text-info">Main Japanese Relation Officer: </label>
这是帮助我获取保存值的帮助(但它是正常下拉列表):
if ( ! function_exists('select_officer')) {
function select_officer($selected = 0) {
$CI =& get_instance();
$CI->load->model('contracts/Contracts_model');
$officer = $CI->Contracts_model->load_relation_officer();
$row_list = array();
foreach($officer as $l) {
$s = ($selected == $l['id']) ? "selected='selected'" : "";
echo "<option value='" . $l['id'] . "' " . $s . ">" . $l['text'] . "</option>";
}
}
}
在我的页面加载中,我初始化这部分,以便我可以获得我需要在下拉列表中输入的所有值。
//officer lists
$(".officer_selection").select2({
data: data
});
您能帮我解决如何在多个下拉列表中设置默认值? 我有4种下拉菜单,分别是日本主要官员,助理日本官员,主要当地官员和助理当地官员。所有这些都包含相同的下拉值。
答案 0 :(得分:1)
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('.officer_selection').each(function(){
$(this).find('option:eq(3)').prop('selected', true);
});
});
</script>
</head>
<body>
<select class= 'officer_selection'>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select class= 'officer_selection'>
<option value="volvo">Volvo1</option>
<option value="saab">Saab1</option>
<option value="mercedes">Mercedes1</option>
<option value="audi">Audi1</option>
</select>
<select class= 'officer_selection'>
<option value="volvo">Volvo2</option>
<option value="saab">Saab2</option>
<option value="mercedes">Mercedes2</option>
<option value="audi">Audi2</option>
</select>
<select class= 'officer_selection'>
<option value="volvo">Volvo3</option>
<option value="saab">Saab3</option>
<option value="mercedes">Mercedes3</option>
<option value="audi">Audi</option>
</select>
</body>
</html>
答案 1 :(得分:1)
试试这个
<input type="text" id="select2-sample">
使用数据
初始化选择2$("#select2-sample").select2(
{
data:{results:[{name:"item1", id:123},{name:"item2", id:456}], text:"name"},
formatSelection: function(item){return ashtmlString(item.name);},
formatResult: function(item){return item.name}
}
);
设置默认值
$("#select2-sample").select2('val', 456);