如何使用Jquery从Asp.netMVC中的CheckBox中获取选定的值
How to get the selected values from CheckBox in Asp.net MVC using Jquery?
我正在开发一个MVC web应用程序,但我遇到了以下问题。我从数据库中动态生成了复选框,但我不知道如何获取值并将该值存储在数据库中。有什么想法吗?
以下是从数据库中检索值的代码
public ActionResult GetAllProductsJson()
{
InventoryProductsRepository ir = new InventoryProductsRepository();
JsonResult jr = new JsonResult();
jr.Data = ir.GetAllProductsName();
jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return jr;
}
这是我的javascript文件
$(document).ready(function () {
var manageProduct = $("#manageProduct");
var tbody = $("#dataTable1").children("tbody");
var selectedProductName;
var currentSelectedProduct;
$.getJSON("/Client/Client/GetAllProductsJson", function (data) {
var tableData = "";
allProductInventoryJsonData = data; //To access from another function outside
$.each(data, function (key, value) {
var input = $("<input>");
input.attr("type", "checkbox");
input.attr("checked");
input.attr("value", value.ProductInventoryId);
var newSpan = $("<span>").html(value.Name);
$("<label>").addClass("ckbox ckbox-primary").append(input).append(newSpan).appendTo(manageProduct);
})
tbody.append(tableData);
}).fail(function (jqXHR, textStatus, errorThrown) {
alert("failed to load table data" + errorThrown);
});
现在我想将所选的值存储在数据库中。你知道我该怎么做吗?
试试这个。
var checkedValues = [],
checkedOnes = $("label.ckbox-primary").find("input['type=checkbox']:checked");
checkedOnes.each(function( index ) {
checkedValues.push(this.value);
});
在要将其发布回服务器的事件上。(很可能是点击按钮)。然后进行$.ajax调用来发布它。
型号
public class Movies
{
public int ID { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
public class MyViewModel
{
public List<Movies> movies { get; set; }
}
控制器
public class DemoListController : Controller
{
public ActionResult Index()
{
var oVm = new MyViewModel
{
movies = new List<Movies>
{
new Movies {ID=1,Name="Test1",IsSelected=false},
new Movies {ID=2,Name="Test2",IsSelected=false},
new Movies {ID=3,Name="Test3",IsSelected=false},
new Movies {ID=4,Name="Test4",IsSelected=false},
new Movies {ID=5,Name="Test5",IsSelected=false}
},
};
return View(oVm);
}
public JsonResult GetList(int id)
{
var list = new List<Movies>
{
new Movies {ID=1,Name="Test1",IsSelected=false},
new Movies {ID=2,Name="Test2",IsSelected=false},
new Movies {ID=3,Name="Test3",IsSelected=false},
new Movies {ID=4,Name="Test4",IsSelected=false},
new Movies {ID=5,Name="Test5",IsSelected=false}
};
List<Movies> select = new List<Movies>();
select = list.Where(x => x.ID == id).ToList();
return new JsonResult { Data = select, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
查看
索引.cshtml
@model JsonCheckbox.Models.MyViewModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<h2>Movies...</h2>
<table>
@for (int i = 0; i < Model.movies.Count; i++)
{
<tr>
<td>
@Html.HiddenFor(x => Model.movies[i].ID)
@Html.CheckBoxFor(x => Model.movies[i].IsSelected,new {@class="cbk",hd=Model.movies[i].ID })
@Html.DisplayFor(x => Model.movies[i].Name)
@Html.HiddenFor(x => Model.movies[i].Name)
</td>
</tr>
}
</table>
<textarea id="txt" style="width:400px;height:200px"></textarea>
</div>
</body>
</html>
@Scripts.Render("~/Scripts/jquery-1.10.2.min.js")
<script type="text/javascript">
$(document).ready(function () {
$(".cbk").change(function () {
var select = "";
$("input[type = 'checkbox']").each(function () {
var c = $(this).is(":checked");
if (c) {
var t = $(this).attr("hd");
$.ajax({
type: "Get",
url: '@Url.Action("GetList", "DemoList")',
data: { id: $(this).attr("hd") },
dataType: "json",
success: function (data) {
select += "Id:" + data[0].ID + ",Name:" + data[0].Name + "; 'n";
$("#txt").val(select);
}
})
} else {
$("#txt").val(select)
}
})
})
})
</script>
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 如何使用Jquery从Asp.netMVC中的CheckBox中获取选定的值
- 使用 jquery 在数据列表中获取 asp:checkbox 的 id
- 如何通过 JQuery JSON 数据获取 CheckBox(@Html.CheckBox) 的值
- 如何在javascript中获取checkbox批量值
- 如何获取类型为checkbox的html输入标记中的相关文本
- 如何使用javascript获取checkbox属性
- javascript/jquery-解析radio/checkbox的所有元素-如何获取每个元素的文本值
- jquery checkbox-只获取选中的复选框的值