【发布时间】:2021-08-01 06:41:21
【问题描述】:
我正在尝试根据 (select name="HospitalName" id="HospitalName") 的值过滤 (select name="DepartmentName" id="DepartmentName"),但它返回零项。我想要做的是让用户选择一家医院,然后查看该医院的部门并选择一个(“部门名称”)。换句话说,我想根据所选医院过滤科室,并提供该医院的科室作为选项。我该如何解决这个问题?
<div class="input-group">
<label class="label">Hospital Name</label>
<div class="rs-select2 js-select-simple select--no-search" style="margin-top:30px;margin-left:-120px;">
<select name="HospitalName" id="HospitalName">
<option disabled="disabled" selected="selected">Choose option</option>
@foreach (var item in Model.hospitals)
{
<option value="@item.Id" data-rel ="@item.Id">@item.Name</option>
}
</select>
<div class="select-dropdown"></div>
</div>
</div>
<div class="input-group">
<label class="label">Department Name</label>
<div class="rs-select2 js-select-simple select--no-search" style="margin-top:30px;margin-left:-150px;">
<select name="DepartmentName" id="DepartmentName">
<option disabled="disabled" selected="selected">Choose option</option>
@foreach (var item in Model.departments)
{
<option value="@item.Id" >@item.Name</option>
}
</select>
<div class="select-dropdown"></div>
</div>
脚本代码
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
$(function() {
$("#HospitalName").change(function() {
$("#DepartmentName option").hide();
$("#DepartmentName option[id^='" + $(":selected", this).data("rel") + "']").show();
型号
public class ViewModel2
{
public Patient patients;
public Illness illness;
public List<Doctor> doctors { get; set; }
public List<Illness> illnesses { get; set; }
public List<Hospital> hospitals { get; set; }
public List<DAppDate> dAppDates { get; set; }
public List<Department> departments { get; set; }
public List<Appointment> appointments { get; set; }
public Hospital hospital { get; set; }
}
我可以列出部门名称,但无法过滤。当我选择“Medicana”时,我应该只列出“Nutrition and Diet”和“dermatology”,因为“psychiatry”是另一家医院的科室,不应该显示。没有输出选项了。此外,我不应该动态创建选项,必须列出它们对 foreach 的帮助。
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: javascript c# jquery .net asp.net-mvc