javascript - 提交后如何从下拉列表中删除选定的值

标签 javascript laravel dropdown laravel-validation

我正在 Laravel 中开发一个小项目,其中有两个下拉菜单。

用户从第一个下拉列表中选择主题,用户从第二个下拉列表中选择成绩。

一旦用户从主题下拉列表中选择 sub1 来选择第二个主题,第一个选定的值就不应该出现。

在图像中,我想输入数学和 10 年级的分数,当我想为 10 年级的其他科目添加分数时,数学科目不应该出现,或者至少应该禁用。

如何控制这一点,或者如何在 Laravel 中验证这一点,以确保同一年级同一科目的重复分数?

一旦我输入了 10 年级数学的分数,第二次如果我想输入 10 年级数学的分数,它应该不允许我输入。

enter image description here

最佳答案

如果您发布代码,会更容易理解您到目前为止做了什么。

据我了解,您可以通过几种方法来实现这一目标。一位正在关注。

您可以将现有标记从 Controller 传递到 View 。

Controller

// Get the ids of already marked subjects for the given user
$markedSubjectIds = StudentMark::where('student_id', $studentId)
                                ->get()
                                ->pluck('subject_id')
                                ->toArray();

$subjects = // Subjects

return view('sudent.marks', compact('markedSubjectIds', 'subjects'));

查看

<select name="subject" class="form-control">
  @foreach($subjects as $subject)
    <option value="{{$subject->id}}" {{ in_array($subject->id, $markedSubjectIds) ? 'disabled' : ''}}>{{$subject->name}}</option>
  @endforeach
</select>

我相信您可以使用查询生成器从所有主题中过滤掉已标记的主题,但我不知道您的表结构如何。

关于javascript - 提交后如何从下拉列表中删除选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64097679/

相关文章:

javascript - jQuery 根据下拉菜单隐藏 div

php如何进行部分搜索/输入和下拉菜单搜索?

javascript - JPG 图像未出现在动态 Web 项目的 JSP 中

php - 在 Laravel 4 PHP 框架中搜索数据库中的表

Laravel Blade : What is best practice for adding javascript in blade files?

mysql - Laravel 查询生成器选择名称

r - R shiny 中的多个 react 性选择输入

javascript - Android--Webview,输入框翻倍?

javascript - Angular 2 *ngFor - 条件包装元素。就像使用里面有三列的引导行一样,然后添加一个新行

JavaScript 不会在函数中输出值