2017-09-25 63 views
0

私は、ラジオのチェックボックスにマウスを置くたびにViewBagの値を設定するJavaScript関数を持っています。フォームの非表示フィールドに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)) }) 

*** BELOW UPDATE WORKING SOLUTION ****

私は正しい答えとして@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()メソッドを使用して非表示のinputタグのvalue属性を設定することができます。あなたがmodel.idを使用しているため

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

あなたは$("#id")を使用する必要があります。第二にidvar id = $(this).attr("id");あるとmodel.ididが一意である場合だけで、あなたはこのようなかみそりのコードが必要になります。応答のための

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

おかげでアリを。私はあなたのソリューションを試しましたが、私はまだHiddenForの値が私の関数からIDを取得する方法は不明ですか? id値をHiddenForのどこかに設定するべきではありませんか?ラジオボタンを選択するたびに、新しいIDが表示されます。どのラジオが選択されているかによって、それは私のフォームになければなりません。 – GRU119

+0

もう少し構成しましたが、私はあなたが今何を意味しているかを見ています。私は上記の質問を更新しました。ご協力いただきありがとうございます! – GRU119

関連する問題