CheckBox in Asp.Net MVC 4
CheckBox in Asp.Net MVC 4
我有复选框。当我选中复选框时,我希望它自动将其在数据库中的值更改为true,并刷新视图并调用JQuery方法。
我还有一个复选框和标签。我希望复选框在选中时消失,并更改标签中的文本。
<h2>Tasks</h2>
<fieldset>
<legend>Tasks</legend>
<table class="table">
@foreach(var item in ViewBag.x)
{
<tr class="clr">
<td style="width:520px">
@item.User.UserName
</td>
<td>
@item.date.ToString("MM/dd/yyyy")
</td>
</tr>
<tr class="clr">
<td>
@item.Discription
</td>
<td></td>
</tr>
<tr>
<td ></td>
<td>
<div><input type="checkbox" id="ch" class="ch" /><span id="d" >Done</span></div>
</td>
</tr>
}
我该如何在JQuery或ASPMVC中做到这一点?
图像示例
您可以监听复选框上的change
事件,然后对服务器进行ajax调用以更新数据库,并让您的操作方法返回响应。您可以检查此响应并隐藏/显示您想要的任何内容。
您可能希望将用户id与复选框相关联,因为您需要针对特定用户进行此更新。。您可以在复选框中保留html 5数据属性中的用户id。此外,看起来您正在对循环中的复选框和跨度的id值进行硬编码,这将为多个复选框生成相同的值Id值应该是唯一的。因此,让我们从标记中删除id属性值,因为我们现在没有使用它。
<div>
<input type="checkbox" data-user="@item.UserId" class="ch" />
<span class="msg">Done</span>
</div>
您的javascript代码将是
$(function(){
$("input.ch").change(function(e){
var _this=$(this);
var userId=_this.data("user");
var isChecked=_this.prop("checked");
$.post("@Url.Action("Change","Home")", { isChecked :isChecked, userId:userId },
function(re){
if(re.status==="success")
{
_this.closest("div").find("span.msg").html(re.message); //update span content
_this.remove(); // remove checkbox
}
else
{
alert("Failed to update!");
}
});
});
});
我使用Url.Action
助手方法来生成动作方法的相对url。如果您将脚本包含在剃刀视图中,则此代码将起作用,但如果您的javascript代码位于外部js文件中,则应构建应用程序根目录的路径,并通过一些变量将其传递给外部js文档,如本答案所述。
假设您的HomeController中有一个接受isChecked值的Change操作方法
[HttpPost]
public ActionResult Change(int userId, bool isChecked)
{
try
{
// to do: using userId and isChecked param value, update your db
return Json( new { status="success", message="done"});
}
catch(Exception ex)
{
//to do : Log ex
return Json( new { status="error", message="Error updating!"});
}
}
相关文章:
- 将Javascript数组发送到控制器ASP.NET MVC
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- 在创建视图mvc.net的过程中使用javascript
- MVC.Net 4 Razor问题使用<文本>标签
- 将文件异步上传到 MVC.NET
- 无论如何 MVC.Net Cdn 调用回退
- 如何加快从Angular/Mvc.net加载图像的速度
- 如何使用角度模块“ui-route”在指令中查找模板URL,而不会在MVC .NET上出现错误
- 将MVC.NET Razor与Javascript结合起来构建一个数组
- MVC.NET提示用户登录
- 从mvc.net获取用于AngularJS http的url的健壮方法是什么?
- MVC.net 3 -可维护的,重构友好的Javascript文件
- 在c#代码MVC . net中检索html中的id元素
- MVC.NET中引导日期拾取器的问题
- MVC . net 4.6询问用户是否想要运行JS文件
- 要求在MVC . net中加载竞速问题
- asp.net mvc - .NET MVC:查找默认的 Bootsrap JavaScript
- 在MVC.NET中使用html helper编辑模式