You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
3.2 KiB
72 lines
3.2 KiB
<div class="row dd_input_group no-gutters {$form[type].extra_class|default=''}" id="form_group_{$form[type].name}">
|
|
<label class="col-3 col-sm-2 col-md-2 col-lg-2 col-xl-1 dd_input_l col-form-label {notempty name="form[type].required"}is-required{/notempty}" for="{$form[type].name}">{$form[type].title|htmlspecialchars}</label>
|
|
<div class="col-9 col-sm-9 col-md-9 col-lg-6 col-xl-4">
|
|
<select class="select2 form-control" id="{$form[type].name}" name="{$form[type].name}" data-value="{$form[type].value}" {$form[type].extra_attr|default=''}>
|
|
<option value="">{$form[type].placeholder}</option>
|
|
{volist name="form[type].options" id="option"}
|
|
<option value="{$key}" {in name="key" value="$form[type].value"}selected{/in}>{$option}</option>
|
|
{/volist}
|
|
</select>
|
|
</div>
|
|
{notempty name="form[type].tips"}
|
|
<div class="col-12 offset-sm-2 offset-md-2 offset-lg-0 offset-xl-0 col-sm-10 col-md-10 col-lg-4 col-xl-7 dd_ts">
|
|
<small class="text-muted">
|
|
<i class="fa fa-info-circle"></i> {$form[type].tips|raw}
|
|
</small>
|
|
</div>
|
|
{/notempty}
|
|
</div>
|
|
<script>
|
|
$(function () {
|
|
var option = {};
|
|
{if !$form[type].options}
|
|
if('{$form[type].ajax_url}' !== ''){
|
|
// 启用ajax分页查询
|
|
option = {
|
|
language: "zh-CN",
|
|
//allowClear: true,
|
|
ajax: {
|
|
delay: 250, // 限速请求
|
|
url: "{$form[type].ajax_url}", // 请求地址
|
|
dataType: 'json',
|
|
data: function (params) {
|
|
return {
|
|
keyWord: params.term || '', //搜索参数
|
|
page: params.page || 1, //分页参数
|
|
rows: params.pagesize || 10, //每次查询10条记录
|
|
};
|
|
},
|
|
processResults: function (data, params) {
|
|
params.page = params.page || 1;
|
|
if (params.page == 1) {
|
|
data.data.unshift({id: '', name: "", text: "{$form[type].placeholder}"});
|
|
}
|
|
return {
|
|
results: data.data,
|
|
pagination: {
|
|
//more: (params.page) < data.paginator.totalPages
|
|
more: (params.page) < data.last_page
|
|
}
|
|
};
|
|
},
|
|
cache: true
|
|
}
|
|
};
|
|
// 默认值设置
|
|
var defaultValue = $('#{$form[type].name}').data("value");
|
|
if (defaultValue) {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "{$form[type].ajax_url}",
|
|
data: {value:defaultValue},
|
|
dataType: "json",
|
|
success: function(data){
|
|
$('#{$form[type].name}').append("<option selected value='" + data.key + "'>" + data.value + "</option>");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
{/if}
|
|
$('#{$form[type].name}').select2(option);
|
|
})
|
|
</script>
|
|
|