当前位置 : 主页 > 网页制作 > JQuery >

jquery – MVC“post back”DropDown List onchange选中

来源:互联网 收集:自由互联 发布时间:2021-06-15
这是我到目前为止: @Html.DropDownList("id", (SelectList)ViewBag.Values, new { onchange = "UpdateProduct(this);" })script language="JavaScript" $('#id').on('change', function () { var data = { prodID: 5, catID: 8 }; // added test va
这是我到目前为止:

@Html.DropDownList("id", (SelectList)ViewBag.Values, new { onchange = "UpdateProduct(this);" })

<script language="JavaScript">
    $('#id').on('change', function () {
        var data = { prodID: 5, catID: 8 }; // < added test values
        $.post('GiftList/UpdateProduct', data, function (responseData) {
            //callback function
        });
    });
</script>

这是我更新的操作方法:

[HttpPost]
public ActionResult UpdateProduct(int prodID, int catID)
{
    ........
    product.Category= catID;
   _productService.UpdateProduct(product);
    ...

我只是不知道如何“连线”这一切.

原始问题:

我有一个DropDown,当一个项目被选中时,会运行一些代码
并更新数据库中的Product表.

此下拉列表包含类别表(id和名称)中的项目:

@Html.DropDownList("id", (SelectList)ViewBag.Values, new { onchange = "UpdateProductsDB(this);" })

我需要传入所选类别的’id’字段.

我还需要从Product表中传递Product Id以进行更新.

我可以通过以下方式访问View中的产品ID(‘id’):

@foreach (var item in Model.Products)
    {  ....
        item.Id

我添加了一个隐藏的字段:

<input id="item_Id" name="item.Id" type="hidden" value="43" />

MVC甚至可以实现这一点吗?从我的搜索,似乎jQuery会做到这一点.
请尽可能多地提供详细信息,因为我根本不了解jQuery.

<tr><span >Panasonic HDC-SDT750K</span>

                <input id="item_Id" name="item.Id" type="hidden" value="41" />
        </tr>       
                <tr>
                    <td width="125px" height="20px" align="right">Model: </td>
                    <td width="325px" align="left">
                        <span style="display:inline-block;width:325px;"></span>
                    </td>
                    ................

<select id="id" name="id" onchange="UpdateProductsDB(this);">

<option value="5">Accessories</option>
<option selected="selected" value="1">Desktops</option>
<option value="8">Camera, photo</option>
<option value="9">Cell phones</option>
<option value="12">Jewelry</option>  . . .
</select>
</td>


<td ><a href="/DBMJ33/GiftList/Edit/id41">Edit</a></td>
<td ><a href="/DBMJ33/GiftList/Delete/id41">Delete</a>
这应该让你走上正轨.

//your javascript
$('#myDropdown').on('change', function(){
   var data = {someData : someDataValue, someMoreData : someMoreDatavalue};
   $.post('myControllerName/UpdateProduct', data, function(responseData){
        //callback function
   });

});

//in your controller

[HttpPost]
public ActionResult UpdateProduct(int someData, string someMoreData)
{
  //do something with your data
}
网友评论