- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何在 Angular 4 的选择框上的 onchange 函数中获取 optgroup 标签值
我在表单中有以下选择框,其中包含多个日期作为选项组和 24 小时格式的时间用于预订,例如上午 10 点、中午 12 点和下午 2 点分别为 1000、1200 和 1400。
<select class="form-control" formControlName="arrival_time" (change)="onSlotChange($event)">
<option value="" data-date="" data-slot="">Select Arrival Time</option>
<ng-container *ngIf="!availablePrevSlots">
<optgroup label="{{availablePrevSlotDate}}">
<option value=null hidden>-- No Slot Available --</option>
</optgroup>
</ng-container>
<ng-container *ngIf="availablePrevSlots">
<optgroup label="{{availablePrevSlotDate}}">
<option value=null hidden>HH:MM</option>
<option *ngFor="let slot of availablePrevSlots" [value]="slot">{{slotToString(slot)}}</option>
</optgroup>
</ng-container>
<ng-container *ngIf="!availableSlots">
<optgroup label="{{availableSlotDate}}">
<option value=null hidden>-- No Slot Available --</option>
</optgroup>
</ng-container>
<ng-container *ngIf="availableSlots">
<optgroup label="{{availableSlotDate}}">
<option value=null hidden>HH:MM</option>
<option *ngFor="let slot of availableSlots" [value]="slot">{{slotToString(slot)}}</option>
</optgroup>
</ng-container>
<ng-container *ngIf="!availableNextSlots">
<optgroup label="{{availableNextSlotDate}}">
<option value=null hidden>-- No Slot Available --</option>
</optgroup>
</ng-container>
<ng-container *ngIf="availableNextSlots">
<optgroup label="{{availableNextSlotDate}}">
<option value=null hidden>HH:MM</option>
<option *ngFor="let slot of availableNextSlots" [value]="slot">{{slotToString(slot)}}</option>
</optgroup>
</ng-container>
</select>
现在我正在使用 onchange 函数获取选定的时间/点值,但我也想获取选项标签有什么方法可以获取 optgroup 标签吗?
同样,一旦我们提交表单,我们就会将插槽保存在数据库中,并在编辑页面上使用数据绑定(bind)显示它,但由于多个 optgroup 可以具有相同的插槽,因此它始终显示第一个选择的 optgroup 值
不确定如何显示此处选择的确切 optgroup 值。
最佳答案
您可以使用 VanillaJS 来实现这一点,在您的更改函数中写入:
const selectedIndex = ev.target.selectedIndex;
const optGroupLabel = ev.target.options[selectedIndex].parentNode.getAttribute('label');
这是一个有效的 stackBlitz:https://stackblitz.com/edit/angular-64vvdn
关于angular - 使用 Angular 4 处理选择框中的 optgroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050434/
我有一个由“主页”、“关于”、“联系方式”、“个人资料”组成的菜单。将鼠标悬停在“个人资料”上时,我希望可以显示一个子菜单,其中包含指向我的 Github/Facebook 帐户等的链接。我该怎么做?
select2上是否可以有多层 optgroup? 基本上,另一个 optgroup 中的 optgroup。 option_1
我有两个下拉分组列表 (Optgroup)。我想使用向右移动、向左移动按钮在这两个 html 控件之间交换元素。我可以从左侧下拉列表项中选择一个或多个元素,然后单击右移按钮。在这种情况下,我可以将所选
在搜索时,如果没有匹配项,该选项将被隐藏,但即使没有子选项匹配,optgroup 仍会显示。如果没有匹配的选项,如何隐藏 optgroup? 我试过这个,这是我试过的代码:jsfiddle $("#u
Error: End tag for 'optgroup' which is not finished. You have probably failed to include a required
为什么这里的optgroup看不到? 显示所有选项,但不显示组名称 http://jsfiddle.net/UCNJ8/ $('').appendTo('body').append('test')
我有一个包含 3 个选项组的选择菜单。最后一个称为“自定义搜索”,当您选择它时,它将触发一个模式来选择不在下拉列表中的用户名并将其添加到数据库中。 长话短说,我想添加一个到optgroup但不太确定该
我所做的只是编辑一些旧代码,我在其中创建了一个选项组,但现在我想将其删除。我不能只用 css 来做到这一点,因为它使用了所选的插件。 function flavorChooser (title, it
我有一个 select 元素,它将显示在移动设备上 Australia Cars Report Australia Bikes Report
大家好,我有下表 -------------------------------------------- |ID|point_name|point_address|point_category| |
我有一个 jQuery 代码,可以从 ul li menu 创建 select。我想从父菜单添加 optgroup,但不知道如何添加。这是我的代码: // Create the dropdown ba
我正在使用 Codeigniter 查询我的数据库并返回一个数据数组。 我有这样一组数据: Array ( [0] => stdClass Object ( [depot_id
我有以下html格式的代码 [choose yours] SubItem2 Item2
我正在尝试向多个optgroup添加一个选项,问题是这个选项只显示在单个optgroup上,我不知道这个机制是不是默认逻辑html 或者我做错了: $(document).ready(function
当代码运行时,下面的标签不会读取空格后的字符串“数据”。我尝试在 optgroup 元素上使用一些 CSS,但它没有对其标签进行任何更改。 var data = "Names of Meters";
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我想创建一个包含分组项目的下拉框。它用于我正在使用的数据库查找 HTML 表单。有没有一种方法可以选择组标题,从而选择该特定组中的所有项目?例如,如果组标题是“German Cars”并且包含项目“M
如何在 select 标签的 optgroup 上添加样式? http://jsfiddle.net/UCNJ8/3/ js: $('').appendTo('body').append('test'
如何从复选框字段中删除 optgroup field($model, 'survey_type')->dropDownList([$surveyTypeList],['prompt'=>'Select
我有一个用于搜索的下拉菜单设置。这个想法是您单击一个选项,然后 OPTGROUP 就会出现。我想做的是,一旦选择了标签,它就会跳转到 OPTGROUP 的该部分。 到目前为止我已经写了一些 jQuer
我是一名优秀的程序员,十分优秀!