按提交按钮时,检查是否选中了复选框

时间:2011-08-31 02:33:11

标签: jquery asp.net-mvc asp.net-mvc-3

我尝试了“is”功能,但它在asp.net中无效。我只想检查该框是否被选中,如果没有保留在此页面并显示通知消息。

代码:

 @foreach (var f in gs.Set.Facets)
         {
            <li>
               <label>
                  <input type="@(gs.Set.AllowMultipleSelection ? "checkbox" : "radio")" 
                     name="FacetResults" 
                     value="@f.FacetID"@(ViewData.Model.FacetStates[f.FacetID] ? " checked=\"checked\"" : "")  class="sel"/>
                     @f.LabelText
               </label>
            </li>
         }
   <input type="submit" value="Complete" id = "Complete" />

3 个答案:

答案 0 :(得分:0)

试试这个

$("#Complete").click(function(){

  if(!$("input:checkbox[name='FacetResults']").is(":checked")){
      return false;
  }

});

答案 1 :(得分:0)

这取决于你想要那个逻辑的位置。如果您希望在javascript中明确验证,Shankar的答案很棒,但我更倾向于使用Data Annotations方法的ViewModel。

答案 2 :(得分:0)

使用jQuery的.each()函数检查每个复选框的状态:

$('#Complete').click(function () {

    var isSelected = false;

    $('input:checkbox[name="FacetResults"]').each(function (index) {
        if ($(this).attr('checked')) {
            isSelected = true;
        }
    });

    alert(isSelected);
    return isSelected;
});