Невозможно передать значение флажка Selected контроллеру в MVC2 с помощью Ajax / jquery - PullRequest
0 голосов
/ 09 июля 2011

Пытаюсь передать значение выбранного флажка функции управления.Пожалуйста, найдите мой код

Вид:

        <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>
          <%} %>    

Это контрольная страница:

  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();
        }

Здесь я пытаюсь разместить выбранное значение флажка в БД без каких-либоСобытия onclick. Пожалуйста, совет.

Ответы [ 2 ]

0 голосов
/ 10 июля 2011

Попробуй так:

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 голосов
/ 09 июля 2011

Попробуйте это:

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

Предполагается, что ваш маршрут настроен как {controller}/{action}/{id}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...