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);
}
});

您的问题到底是什么?如何让下拉列表根据用户的选择显示表单?我想知道一个情况,当用户从下拉列表中选择现有父项时,它将只显示由数据库中的父项填充的下拉列表。如果是新的家长,我应该显示表格来填写新的家长数据。这就是我想在这里存档的东西谢谢