2017-09-25 56 views
0

我有一个JavaScript函数,当你在无线电复选框上滑动时,它会设置一个ViewBag值。我试图在窗体的隐藏字段中提交ViewBag。使用JavaScript获取@ Html.HiddenFor VALUE?

我的JavaScript函数已成功获取该ID。但我无法将这个价值转化为我的隐藏形式。我认为我的第一个问题是我使用ViewBag时,我应该使用不同的类型。但这是我希望得到一些帮助的地方。我如何在JavaScript中设置一个值并在@ Html.HiddenFor()中获取?

$(document).ready(function() { 
     $('body').on('mouseup', 'td', function (e) { 
      e.preventDefault(); 
      var id = $(this).attr("id"); 
      @Html.Raw(Json.Encode(ViewBag.id)) = id; 
     }); 
    }); 


@Html.HiddenFor(model => model.id, new {id = "id", Value = @Html.Raw(Json.Encode(ViewBag.id)) }) 

*** UPDATE工作液低于****

我打标@Ali Soltani的溶液,作为正确答案。他的回答让我朝着正确的方向前进。这里是我的全部工作代码:

$(document).ready(function() { 
     $('body').on('mouseup', 'td', function (e) { 
      e.preventDefault(); 
      var id = parseInt($(this).attr("id")); 
      $("#Id").val(id); 
     }); 
    }); 

形式:

@Html.HiddenFor(model => model.id, new { id = "Id" }) 

回答

0

您可以通过使用属性名称选择它,并使用jQuery VAL()方法中设置一个隐藏的输入变量的值属性。

$("#id").val(id); // id in $("#id") 

因为你使用model.id您应该使用$("#id")。其次idvar id = $(this).attr("id");,只是你需要剃须刀这样的代码,如果idmodel.id是独一无二的:

@Html.HiddenFor(model => model.id) 
+0

感谢阿里响应。我试过你的解决方案,但我仍然不清楚HiddenFor的价值是如何从我的函数中获得id的?我不应该在HiddenFor的某处设置id值吗?每次我选择单选按钮时,都会出现一个新的ID。根据选择哪个收音机选项,这应该是我的形式。 – GRU119

+0

我做了一些更多的配置,我明白你的意思了。我更新了我的问题。谢谢你的帮助! – GRU119