[英]Enable button on checkbox selection in MVC 4
大量研究和尝试,但没有成功。我的问题是我想启用我的按钮,以选中可用列表中的至少一个复选框。
以下是屏幕:
最初,此按钮已启用,但我的要求是,应首先将其禁用,如果选中了至少一个复选框,则应将其启用。
在这里,我有一个创建视图,在其中有一个局部视图,该局部视图借助于一种控制器方法显示了所有列表视图,即在我的创建视图中,正在渲染另一个显示所有可用列表的视图。
如果只是在一个视图中,那么我将很容易做到这一点,因为通过获取复选框的ID并将其传递给一个jquery函数,jquery有很多小玩意儿。 我知道我需要检查复选框的计数才能使我的按钮启用/禁用,但是同样,我们没有ASP中的任何更改事件。
同样在单击add时,控制器的方法开始触发为:
[HttpPost]
public ActionResult Create(int id, List<MyModel> myModelList)
{
// code...
}
在这里,一旦我点击添加按钮,这个控制器方法就会被触发,在我的参数(myModelList)中我可以检查哪个复选框被选中。因此,我需要在检查任何一个复选框上实现这一点,以便添加按钮成为单击启用,我将能够添加我的团队。
那么如何实现这一目标或我需要为此做些什么呢? 提前致谢。
更新:糟糕。 添加了:checked
伪类
这就是您可能在jQuery中执行的方法
$('#add_button_id').prop('disabled', true); // To disable initially
$(document).on('click', '.checkbox_class', function(){
if( $('.checkbox_class:checked').length > 0 ){
$('#add_button_id').prop('disabled', false);
}
else{
$('#add_button_id').prop('disabled', true);
}
});
您必须像在HTML代码中一样添加按钮的ID和复选框的类
您可以这样操作:
$(document).on('click', '.checkbox_class', function(){
if(".checkbox_class:checked").length > 0)
$('#add_button_id').prop('disabled', false);
else
$('#add_button_id').prop('disabled', true);
}).change();
您还可以触发页面加载更改:
$(function(){
$(".checkbox_class").tirgger('change');
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.