jquery - 从 select2 下拉列表中选择某个选项后触发操作
问题描述
我正在使用 Select2 下拉菜单。我想在选择Patient
选项时触发一个事件。现在,无论单击哪个选项,它都会触发一个事件。
<div class="col-md-3">
{!!($errors->has('name')) ? '<div class="form-group has-error">' : '<div class="form-group">'!!}
{{Form::label('based on', 'Based on:')}}<br>
{!! Form::select('type', ['' => 'Select type'] + ['0' => 'Image', '1' => 'Patient'], null, ['class' => 'form-control select2', 'id' => 'type', 'style' => 'width: 100%;']) !!}
</div>
</div>
<div class="col-md-3" id="timeframe-div" style="display: none;">
{!!($errors->has('name')) ? '<div class="form-group has-error">' : '<div class="form-group">'!!}
{{Form::label('based on', 'Timeframe:')}}<br>
{!! Form::select('timeframe', ['' => 'Select type'] + ['0' => 'Daily', '1' => 'Weekly', '2' => 'Monthly'], null, ['class' => 'form-control select2', 'id' => 'timeframe', 'style' => 'width: 100%;']) !!}
</div>
$('#type').on("select2:selecting", function(e) {
$("#timeframe-div").css("display", "block");
});
解决方案
从Select2 文档中:
触发时
select2:select
,可以通过 params.data 属性访问来自选择的数据:
因此,使用这个:
$('#type').on("select2:select", function(e) {
if (e.params.data.text === 'Patient')
$("#id").css("display", "block");
});
请注意,这是读取text
您提供给 Select2 的数据的属性。如果需要,您可以将其更改为使用id
。
推荐阅读
- python - 调度 Python - 重叠函数
- jquery - 从另一个页面重定向到一个页面并在那里显示隐藏的 div
- c - 无法正确排序字符串数组
- azure - 加载资源、提取数据并将数据通过 Azure Data Facory V2 发送到 Azure Function App
- ruby-on-rails - 如何检索/迭代并将用户位置保存到带有 LinkedIn 的模型中?omniauth-linkedin-oauth2 Rails 5.2
- node.js - ioredis - ClusterAllFailedError:刷新插槽缓存失败
- python - 我应该如何在格式列表中申请“for”?
- javascript - NodeJS 请求对象什么时候发出事件?
- apache - Apache:IP 地址与用户
- python - 如何在 pipenv pipfile 中包含外部依赖项?