启用MVC 4中复选框选择按钮

时间:2014-08-08 07:49:58

标签: javascript jquery asp.net-mvc-4 razor checkbox

很多研究和尝试,但没有工作。我的问题是我想在检查可用列表中的至少一个复选框时启用我的按钮。

以下是屏幕: enter image description here

enter image description here

最初启用此按钮但我的要求是它应该最初被禁用,如果选中了至少一个复选框,则应该启用它。

在这里,我有一个视图作为Create,其中还有一个局部视图,它在一个控制器方法的帮助下显示所有列表视图,即在我的Create视图中,还会再显示一个显示所有可用列表的视图。

如果它已经在一个视图中,那么我很容易就可以通过获取复选框的id并传递给一个jquery函数来使用jquery来实现这一点。我知道我需要检查复选框的计数才能使我的按钮启用/禁用,但我们再没有像ASP那样的任何更改事件。

同样点击添加,控制器的方法开始触发:

[HttpPost]
public ActionResult Create(int id, List<MyModel> myModelList)
{
    // code...
}

这里,一旦我点击Add按钮,这个控制器方法被触发,在我的参数(myModelList)中,我能够检查哪个复选框被选中。所以,我需要在检查任何复选框时实现这一点,以便添加按钮将在点击时启用,我将能够添加我的团队。

那么如何实施这个或我需要为此做些什么? 提前谢谢。

2 个答案:

答案 0 :(得分:3)

更新:哎呀。添加了: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

答案 1 :(得分:3)

你可以这样做:

$(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');

})