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

问题描述:

我试过“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" /> 
+1

哪个复选框?你有什么JS代码? – Mrchief

试试这个

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

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

}); 
+1

将会有超过1个同名的复选框。他在一个循环中渲染多个。 – Mrchief

+0

@Mrchief - 但他有条件设置类型复选框或收音机,不知道是否会有很多项目。 – ShankarSangoli

这取决于你想要的逻辑。尚卡尔的答案是非常好的,如果你想明确地在JavaScript中进行验证,但是我倾向于使用具有Data Annotations方法的ViewModel。

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

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

    var isSelected = false; 

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

    alert(isSelected); 
    return isSelected; 
});