首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >10月CMS: AJAX表单

10月CMS: AJAX表单
EN

Stack Overflow用户
提问于 2021-12-17 14:36:01
回答 1查看 285关注 0票数 0

我的目标是在指定和提交日期范围时更新部分以显示课程日期。

我有一个能按预期工作的函数。

  • 用户选择开始日期
  • 用户选择结束日期
  • 用户单击搜索。
  • 结果被记录到控制台。

这是函数

代码语言:javascript
复制
function onFetchDataFromServer()
{
    $course = Course::findOrFail( $this->param('id') );

    $start = Input::get('start_date');

    $end = Input::get('end_date');

    $dates = $course->coursemetas->whereBetween('date', array($start, $end));

    return $dates;
}

这是标记

代码语言:javascript
复制
<form class="row gx-3 align-items-center" data-request="onFetchDataFromServer" data-request-success="console.log(data)"">
    <div class="col-12 col-lg pxp-has-left-border">
        <div class="input-group mb-3 mb-lg-0">
            <span class="input-group-text"><span class="fa fa-calendar-o"></span></span>
            <input type="date" class="form-control" id="startPicker" name="start_date" placeholder="Choose a start date">
        </div>
    </div>
    <div class="col-12 col-lg pxp-has-left-border">
        <div class="input-group mb-3 mb-lg-0">
            <span class="input-group-text"><span class="fa fa-calendar-o"></span></span>
            <input type="date" class="form-control" id="endPicker" name="end_date" placeholder="Choose an end date">
        </div>
    </div>
    <div class="col-12 col-lg-auto">
        <button type="submit">Search dates</button>
    </div>
</form>

因此,与其将结果记录到控制台,我现在要更新一个分部。

我的观点中有一个叫做“课程/metas”的部分。

有人能帮帮我吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-12-17 17:02:44

你可以试试这样的东西。检查一下这里的文件

这是一个页面的PHP部分:

代码语言:javascript
复制
function onFetchDataFromServer()
{
    $course = Course::findOrFail( $this->param('id') );

    $start = Input::get('start_date');

    $end = Input::get('end_date');

    $dates = $course->coursemetas->whereBetween('date', array($start, $end));

    $this['dates'] = $dates;

    return [
        '#myDiv' => $this->renderPartial('coursemetas')
    ];
}

这是用于组件插件的:

代码语言:javascript
复制
function onFetchDataFromServer()
{
    $course = Course::findOrFail( $this->param('id') );

    $start = Input::get('start_date');

    $end = Input::get('end_date');

    $dates = $course->coursemetas->whereBetween('date', array($start, $end));

    $this->page['dates'] = $dates;

    return [
        '#myDiv' => $this->renderPartial('@coursemetas')
    ];
}

注意与renderPartial一起发送的@符号,因为这告诉框架查看插件文件夹中的部分。也可以按组件和部分名称指定部分路径,如这个return $this->renderPartial('course::coursemetas');

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70394765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档