使用 form_validation() CodeIgniter 时重新填充 select2 数据



我正在尝试使用select2和 codeigniter 的form_validation()重新填充我的表单,但我无法让它工作。我的 select2 插件正在使用 json 类型数据。这是我的选择2HTML代码:

<select name="secondary_icdx" id="multiple-secondary-icdx" class="form-control" data-url-source="<?php echo site_url('frontoffice/diagnose/code'); ?>"></select>

这是我的选择2javascript代码:

var sourceDiagnose  = $('#multiple-secondary-icdx').data('url-source');
$("#multiple-secondary-icdx").select2({
closeOnSelect: false,
placeholder: 'Select secondary diagnose if any...',
minimumInputLength: 3,
language: {
inputTooShort: function () {
return "Type min. 3 characters...";
},
noResults: function() {
return "Nothing found!"
},
searching: function() {
return "Searching…"
}
},
ajax: {
url: function (params, data) {
return sourceDiagnose + '/' + params.term;
},
dataType: 'json',
delay: 250,
processResults: function (response) {
return {
results: response,
pagination: {
more: (response.page * 30) < response.total_count
}
};
},
cache: true
}
});

我尝试在设置$_POST['secondary_icdx']if语句,在 select 元素中如下所示:

<?php if ( isset($_POST['secondary_icdx']) ):
foreach ( $_POST['secondary_icdx'] AS $sec ):
?>
<option value="<?php echo $sec; ?>"><?php echo $sec; ?></option>
<?php endforeach; endif; ?>

。但没有运气!在表单验证时,有没有办法使用set_select()或其他东西?我完全糊涂了。这里的任何帮助将不胜感激!提前谢谢你。

注意:icdx代码有超过22k的数据!

如果值已经保存,则只需要运行 foreach,其余部分将由 Select 2 本身完成。 请记住更新"选择 2"文件,并将"选择"框设置为"多个"。 我正在使用 CDN:

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>

这是我的代码:

<select class="form-control select2" id="health_type" name="health_type[]" multiple="multiple">
<option value="all">--Select Health Concern Type--</option>
<?php foreach ($health_type as $cat) :?> 
<option value="<?=$cat['id'];?>" <?php if(!empty($health_arr) && in_array($cat['id'], $health_arr) ) echo 'selected'; ?> ><?=$cat['name'];?></option>
<?php endforeach; ?>
</select>

我的选择 2 初始化:

$('.select2').select2({
placeholder:"Select multiple variants"
});

$(document).ready(function() {
$('.select2').select2();
});

相关内容

  • 没有找到相关文章

最新更新