【问题标题】:Laravel how to get an old input value for selectize inputLaravel如何获取选择输入的旧输入值
【发布时间】: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>&hellip;</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


    【解决方案1】:

    您的 Input::old 可能工作正常,问题似乎是,如果唯一的选项是从“item”数组中选择,那么新添加的项目将不会出现在该数组中,因此将从中删除selectize 运行后的输入。

    您可以遍历 old('tags') 并将新项目添加到新项目的项目数组中。

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 2023-03-13
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 2021-09-30
      • 1970-01-01
      相关资源
      最近更新 更多