【问题标题】:MVC 4.0 assign model property to jQuery variableMVC 4.0 将模型属性分配给 jQuery 变量
【发布时间】:2012-11-07 07:30:15
【问题描述】:

如果可能,请在此处提供帮助或以其他方式建议我

C#代码如下

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

在cshtml页面代码是as

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

基本上在模型中我有锻炼,并且在每次锻炼下都有多个锻炼,所以当我选择锻炼时,我想显示所有锻炼,如果我选择另一个锻炼,那么它的相关锻炼等等......

所以基本上我想在 jQuery Workouts 变量中设置@Model.Workouts。但上面的 jQuery 代码对我不起作用。

【问题讨论】:

    标签: c# jquery asp.net-mvc-4


    【解决方案1】:

    根据你的例子使用这个:

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

    【讨论】:

      【解决方案2】:

      从上面我了解到,您需要 Js 中的 Workout 下拉列表的 Id,以便您可以根据 Workout 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
          } 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 2021-12-02
        • 1970-01-01
        • 2017-04-20
        • 2020-01-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多