如何在jQuery中使用复选框?

时间:2013-07-31 10:23:07

标签: javascript jquery html checkbox

我对处理jQuery中的复选框的概念比较陌生。我有三个同名的复选框。现在我想根据第一个复选框的选择应用一些条件。供您参考我的HTML代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
</head>
<body> 
<table>
  <tr>
    <td>
      <input type="checkbox" id="users"  value="users"/>Users 
    </td>
    <td>
      <input type="checkbox" id="upload_from_file" value="upload_from_file"/>Upload From File
    </td>
    <td>
      <input type="checkbox" id="copy_paste_from_excel" value="copy_paste_from_excel"/>Copy paste from excel
    </td>
  </tr>
  <tr>
    <td colspan="3">
      <h4>Users</h4>
        <input type="checkbox" class="user_checkbox" name="user_checkbox" id="all_users" value="all_users"/>all users &nbsp;&nbsp;
        <input type="checkbox" class="user_checkbox" name="user_checkbox" id="register_users" value="register_users"/>Register users &nbsp;&nbsp;
        <input type="checkbox" class="user_checkbox" name="user_checkbox" id="package_expired" value="package_expired"/>Package expired &nbsp;&nbsp;
        <input type="checkbox" class="user_checkbox" name="user_checkbox" id="inactive_from_last_month" value="inactive_from_last_month"/>Inactive from last month
    </td>
  </tr> 
</table>
</body>
</html>

我的要求是当用户选中具有值"users"的复选框时,他/她必须从具有值("register_users""package_expired",{{的复选框组中选择至少一个复选框1}})。

另一个条件是当用户选中具有值"inactive_from_last_month"的复选框时,来自同一组的所有其他复选框,即具有值all_users"register_users""package_expired"的复选框)应该被禁用。

另一个条件是当用户选中其中任何一个复选框时,应禁用复选框"inactive_from_last_month"

任何人都可以帮助我使用jQuery实现此功能吗?提前致谢。如果某个地方我在上面的代码中出错,你可以更正我的代码。我还附上了UI的截图。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果尚未包含jQuery库,则只需将jQuery库包含在文件中。然后只需编写以下脚本以使功能正常工作:

<script type="text/javascript">$("#inactive_from_last_month" ).is(":checked")
$(function(){
  $(".user_checkbox").click(function(){ 
    if($("#all_users" ).is(":checked")) {
      $("#register_users").removeAttr("checked");
      $("#package_expired").removeAttr("checked");
      $("#inactive_from_last_month").removeAttr("checked");
    } else if ($("#register_users" ).is(":checked") || $("#package_expired" ).is(":checked") || $("#inactive_from_last_month" ).is(":checked")) {
      $("#all_users").removeAttr("checked"); }
    });
});
</script>