2016-03-19 139 views

回答

0

您可以比较每个复选框的当前值与其原始设置。为此,您可以将checked属性与defaultChecked属性进行比较。

下面是一些代码:

function wasAnyCheckChanged() { 
 
    return $('input[type=checkbox]').toArray().some(function(el) { 
 
     return el.checked != el.defaultChecked; 
 
    }); 
 
} 
 

 
// At submission: collect them again and compare 
 
$('form').submit(function() { 
 
    if (wasAnyCheckChanged()) { 
 
     alert('you changed checks'); 
 
    } else { 
 
     alert('No changes made'); 
 
    } 
 
    return false; // cancel submission 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="checkbox" name="chk1" checked>Option 1<br> 
 
    <input type="checkbox" name="chk2" >Option 2<br> 
 
    <input type="submit" name="submit" value="Submit"><br> 
 
</form>

这段代码显示的警告表明任何检查是否在提交不是他们在页面加载不同。然后提交被取消。您可以决定要做什么,并且只能在两种情况中的一种情况下取​​消提交。

+0

这是否回答你的问题?你可以提供一些反馈吗? – trincot