MVC5中的JQuery下拉列表更改操作
我有一个下拉列表,里面有两个选项,我从模型列表中查询,我想用这个下拉选项替换两个视图 如果数据已经存在,则第一选择显示为下拉框。 第二个选项显示要添加新记录的表单 这就是观点MVC5中的JQuery下拉列表更改操作,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个下拉列表,里面有两个选项,我从模型列表中查询,我想用这个下拉选项替换两个视图 如果数据已经存在,则第一选择显示为下拉框。 第二个选项显示要添加新记录的表单 这就是观点 <div class="row-fluid"> <div class="control-group offset3"> <label for="text" class="contro
<div class="row-fluid">
<div class="control-group offset3">
<label for="text" class="control-label">Select Option</label>
<div class="controls">
@Html.DropDownListFor(model => model.ParentChoicesId, Model.ParentChoices, "-- Select Choice --", new { required = "true", id = "choice", @class = "input-xlarge" })
</div>
</div>
<hr />
<div id="result">
<div class="row-fluid" id="newParent">
<div class="span6" >
<div class="control-group">
<label for="text" class="control-label">Title</label>
<div class="controls">
@Html.DropDownListFor(model => model.pTitleId, Model.pTitle, "-- Choose Title --", new { @class = "input-xlarge", required = "true" })
</div>
</div>
<div class="control-group">
<label for="FirstName" class="control-label">First name</label>
<div class="controls">
@Html.TextBoxFor(model => model.pFirstName, new { @class = "input-xlarge", required = "true" })
</div>
</div>
.....
</div>
</div>
<div class="span6">
<div class="control-group">
<label for="text" class="control-label">Nationality</label>
<div class="controls">
@Html.DropDownListFor(model => model.pCountryId, Model.pCountry, "-- Choose Country --", new { required = "true", @class = "input-xlarge" })
</div>
</div>
选择选项
@Html.DropDownListFor(model=>model.ParentChoicesId,model.ParentChoices,“--Select Choice--”,new{required=“true”,id=“Choice”,@class=“input xlarge”})
标题
@DropDownListFor(model=>model.pTitleId,model.pTitle,“--Choose Title--”,new{@class=“input xlarge”,required=“true”})
名字
@Html.TextBoxFor(model=>model.pFirstName,新的{@class=“input xlarge”,required=“true”})
.....
国籍
@DropDownListFor(model=>model.pCountryId,model.pccountry,“--Choose Country--”,new{required=“true”,@class=“input xlarge”})
</div>
</div>
<div class="row-fluid" id="existParent">
<div class="span6" >
<div class="control-group">
<label for="text" class="control-label">Title</label>
<div class="controls">
@Html.DropDownListFor(model => model.ParentId, Model.Parents, "-- Choose Parent --", new { @class = "input-xlarge", required = "true" })
</div>
</div>
</div>
</div>
</div>
</div>
标题
@Html.DropDownListFor(model=>model.ParentId,model.Parents,“--Choose Parent--”,new{@class=“input xlarge”,required=“true”})
这是控制器,我正在查询我的选项
var parentChoice = GetParentChoice().Select(t => new SelectListItem
{
Value = t.Value,
Text = t.Text
});
model.ParentChoices = parentChoice.AsEnumerable();
public static IQueryable<SelectListItem> GetParentChoice()
{
var choiceList = new List<SelectListItem>()
{
new SelectListItem{ Text="New Parent", Value = "1" },
new SelectListItem{ Text="Existing Parent", Value = "2" }
};
return choiceList.AsQueryable();
}
var parentChoice=GetParentChoice()。选择(t=>new SelectListItem
{
值=t.值,
Text=t.Text
});
model.ParentChoices=parentChoice.AsEnumerable();
公共静态IQueryable GetParentChoice()
{
var choiceList=新列表()
{
新建SelectListItem{Text=“new Parent”,Value=“1”},
新建SelectListItem{Text=“现有父项”,Value=“2”}
};
return choiceList.AsQueryable();
}
这是jquery代码
<script>
$(document).ready(function () {
$("#result").fadeOut(0);
});
var selectedChoice;
$("#choice").change(function () {
selectedChoice = $("#choice").val().trim();
if (selectedChoice === "-- Select Choice --") {
$("#result").fadeOut();
}
else if (selectedChoice.val() === 1) {
$("#result").hide("#existParent")
$("#result").empty().append("#newParent").fadeIn();
}
});
</script>
$(文档).ready(函数(){
$(“#结果”)。淡出(0);
});
var选择选择选择;
$(“#选择”)。更改(函数(){
selectedChoice=$(“#choice”).val().trim();
如果(selectedChoice==“--selectchoice-->”){
$(“#结果”).fadeOut();
}
else if(selectedChoice.val()==1){
$(“#result”).hide(“#existParent”)
$(“#result”).empty().append(“#newParent”).fadeIn();
}
});
这是我到目前为止所做的,我需要一些帮助来完成它,谢谢 我想出来了,所以我想出了这个办法,对我来说效果很好,谢谢
<script>
$(document).ready(function () {
$("#result").fadeOut(0);
});
$("#choice").change(function () {
selectedChoice = $("#choice").val();
if (selectedChoice == 1) {
$("#existParent").hide()
$("#result").fadeIn();
$("#newParent").show();
}
else if (selectedChoice == 2) {
$("#newParent").hide()
$("#result").fadeIn();
$("#existParent").show();
}
else if (selectedChoice == 0)
{
$("#result").fadeOut(0);
}
});
</script>
$(文档).ready(函数(){
$(“#结果”)。淡出(0);
});
$(“#选择”)。更改(函数(){
selectedChoice=$(“#choice”).val();
如果(selectedChoice==1){
$(“#existParent”).hide()
$(“#结果”).fadeIn();
$(“#newParent”).show();
}
else if(selectedChoice==2){
$(“#newParent”).hide()
$(“#结果”).fadeIn();
$(“#existParent”).show();
}
else if(selectedChoice==0)
{
$(“#结果”)。淡出(0);
}
});
您的问题到底是什么?如何让下拉列表根据用户的选择显示表单?我想知道一个情况,当用户从下拉列表中选择现有父项时,它将只显示由数据库中的父项填充的下拉列表。如果是新的家长,我应该显示表格来填写新的家长数据。这就是我想在这里存档的东西谢谢