【发布时间】:2023-03-19 11:01:01
【问题描述】:
我在表单中使用selectize 进行输入,如果用户先选中复选框,则该输入可见:
{!! Form::text('engagement_question', null, ['id' => 'engagement_question', 'placeholder' => 'Spørsmål for "bli med"']) !!}
因此,在页面加载时,我正在检查复选框是否被选中,然后根据我的脚本中的条件显示该字段。
$(document).ready(function() {
engagementCheckbox();
});
var engagementCheckbox = function() {
if($('#engagement-checkbox').is(":checked")) {
$('.engagement').show();
}
else {
$('.engagement').hide();
selectize.clear();
}
}
$('#engagement-checkbox').change(function() {
engagementCheckbox();
});
var items = icoop.engagements.map(function(x) {
return { item: x };
});
var $select = $('#engagement_question').selectize({
persist: false,
maxItems: 1,
options: items,
labelField: "item",
valueField: "item",
sortField: 'item',
searchField: 'item',
create: true,
render: {
option_create: function(data, escape) {
return '<div class="create">Nytt inlegg<strong> ' + escape(data.input) + '</strong>…</div>';
}
},
onChange: function(value) {
var unique = true;
for(var i = 0; i < items.length; i++) {
if(items[i].item == value) {
unique = false;
break;
}
}
if(!unique) {
$select.next('.selectize-control').find('.item').addClass('item-background');
}
},
});
var selectize = $select[0].selectize;
我还想在验证失败时显示用户的旧输入值(如果该字段有一个)。只有当用户从selectize items 中选择了一个选项时,它才会返回输入,但如果用户自己创建了一个选项则不会。
我尝试添加Input::old('engagement_question'),但没有成功:
{!! Form::text('engagement_question', Input::old('engagement_question'), ['id' => 'engagement_question', 'placeholder' => 'Spørsmål for "bli med"']) !!}
但它不起作用,我该怎么办?
【问题讨论】:
标签: validation laravel-5.2 blade