-1

可能であればここで支援するか、他の方法を提案してください

C#コードは次のとおりです

 public ActionResult Create()
 {
        var newCircuit = new CircuitViewModel();
        newCircuit.Workouts = _db.Workouts.ToList();
        newCircuit.MemberId = _memberId;
        return View(newCircuit);
}

cshtmlページのコードは次のとおりです

@Html.DropDownList("ddlWorkout", new SelectList(Model.Workouts, "Id", "Name"), "--Select Workout--", new { required = true, style = "width:310px", onchange = "GetExercise(this)" })

jQueryコードは次のとおりです。

function GetExercise() {     
    var Workouts = @Model.Workouts
    var AllExercises = Workouts[0].Exercises; 
}

基本的にモデルにはワークアウトがあり、各ワークアウトの下に複数のエクササイズがあるため、ワークアウトを選択するとすべてのエクササイズが表示され、別のワークアウトを選択すると関連するエクササイズが表示されます...

@Model.Workoutsだから基本的にはjQuery Workouts変数に設定したい。しかし、上記のjQueryコードは私にとってはうまくいきません。

4

2 に答える 2

0

あなたの例に従って、これを使用します:

@Html.DropDownList("ddlWorkout", new SelectList(Model.Workouts, "Id", "Name"), "--Select Workout--", new { required = true, style = "width:310px", onchange = "GetExercise($(this))" })

function GetExercise($(this)) {     
var Workouts = $(this.val())
var AllExercises = Workouts[0].Exercises; 
}
于 2012-11-07T07:50:55.030 に答える
0

上記から、ワークアウト Id に基づいてエクササイズ結果をバインドできるように、Js でワークアウト ドロップダウンの Id が必要であることがわかりました。次のようにします。

@Html.DropDownList("ddlWorkout", new SelectList(Model.Workouts, "Id", "Name"), "--Select Workout--", new { required = true, style = "width:310px", onchange = "GetExercise(this)" })
function GetExercise(obj) {     
    // First i'm checking whether user has selected any value in dropdown or not
    if(obj!="" || obj.val()>0)
    {
        var Workouts = obj.val(); //Will have dropdown value
        var AllExercises = Workouts[0].Exercises; //This line i did not get
    } 
}

または、このようにします

//Set id from dropdown
@Html.DropDownList("ddlWorkout", new SelectList(Model.Workouts, "Id", "Name"), "--Select Workout--", new { required = true, style = "width:310px", @id= "ddlWorkout" })

$(function() {   
    $("#ddlWorkout").change(function() {
         var obj = $("#ddlWorkout").val();
        // First i'm checking whether user has selected any value in dropdown or not
        if(obj != "" || obj>0)
        {
            var Workouts = obj.val(); //Will have dropdown value
           var AllExercises = //Pass Exercise id to get result here
    } 
}
于 2016-02-04T07:49:31.453 に答える