2017-09-25 58 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