2011-07-09 10 views
0

選択したチェックボックスの値をコントロール関数に渡そうとしています。 私のコードAjax/jqueryを使用してMVC2のコントローラにSelectedチェックボックスの値を渡すことができません

ビューを見つけてください:

 <script language="javascript" type="text/javascript"> 

      $(document).ready(function() { 
       $("#myCheckbox").change(function() { 
        var $this = $(this); 
        var checkboxData = $(':checked').val(); 
        $.ajax({ 
         url: '/Home/About', 
         type: "POST", 
         data: checkboxData, 
         success: function (data) { 
             if (data["success"]) { 
             alert(data) 
             } 
         } 
        }); 
       }); 
      }); 
     </script> 
      <%using (Html.BeginForm()) 
    { %> 
      <table> 
       <tr> 
        <td> 
        <%foreach (var cbName in (List<Hello_World_MVC.Option>)ViewData["Data"]) 
         {%> 
         <div id="AjaxDiv"> 
    //Dynamically i set the value for checkbox - Value that i using here is integer 
         <input type="checkbox" id="myCheckbox" value="<%=cbName.OptionID%>" /> 
         </div>   
        <%} %>    
         </td> 
        </tr> 
      </table> 
      <%} %>  

これは、制御ページです:私は、任意のonclickのevents.PleaseアドバイスなしでDBに選択したチェックボックスの値を投稿しようとしています。ここ

public ActionResult About() 
     { 
      AboutModels ObjAM = new AboutModels();//model class name 
      ViewData["Data"] = ObjAM.dbValue(); 
      return View(); 
     } 


     [HttpPost] 
     public ActionResult About(int id)//this parameter is my selected checkbox value.I have to get this value from ajax 
     { 
      AboutModels ObjAM = new AboutModels();//model class name 
      ViewData["Data"] = ObjAM.dbValue(); 
      ObjAM.dbUpdate(id);//I need to pass the id value to my model class to update the table 
      return View(); 
     } 

答えて

0

のような設定は次のように試してみてくださいされています

var checkboxData = $(':checked').val(); 
$.ajax({ 
    url: '/Home/About', 
    type: 'POST', 
    data: { id: checkboxData }, 
    success: function (result) { 
     alert(result.data); 
    } 
}); 

また、サーバーのアクションであなたの代わりに、いくつかのビューのJSONを返すてみて:

[HttpPost] 
public ActionResult About(int id) 
{ 
    AboutModels ObjAM = new AboutModels(); 
    ObjAM.dbUpdate(id); 
    return Json(new { data = ObjAM.dbValue() }); 
} 
+0

ありがとうございます!コードが動作しています;-) –

+0

コードが正常に動作しています。コード内でJsonがコレクションリストを返します。警告タブで、ここに戻ってくる値を取得できません。 –

0

これを試してください:あなたのルートを想定し

    $.ajax({ 
         url: '/Home/About/' + checkboxData, 
         type: "POST", 
         success: function (data) { 
             if (data["success"]) { 
             alert(data) 
             } 
         } 
        }); 

{controller}/{action}/{id}

+0

ありがとうございます..コードが動作しています;-) –

関連する問題