首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Jquery:如何在隐藏字段中保持复选框复选/取消检查状态

Jquery:如何在隐藏字段中保持复选框复选/取消检查状态
EN

Stack Overflow用户
提问于 2018-08-26 09:34:11
回答 2查看 1.2K关注 0票数 0

我有一个html表,我有很多复选框。当用户单击标题复选框时,所有子复选框都将被选中,并根据标头复选框复选框状态取消选中。

用户也可以取消选中和选中任何子复选框。我要将子复选框值存储在用逗号分隔的隐藏字段中。当选中子复选框时,复选框值将存储在hiiden字段中,但如果该复选框值存储在hiiden字段中,则不会存储在隐藏字段中。

当用户取消选中任何人时,该复选框值将从隐藏字段中移除。

我试过这样做,但没有成功。所以,请指导我如何实现它。我的代码如下

代码语言:javascript
运行
AI代码解释
复制
<table id="tbl" border="10">
<thead>
<tr>
<td><input type="checkbox" id = "chckHead" /></td>
<td>First Row</td>
<td>Second Row</td>
<td>Third Row</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" class = "chcktbl" value="101"/>
</td>
<td>1</td>
<td>1</td>
<td>1</td>
 </tr>
<tr>
<td>
<input type="checkbox" class = "chcktbl"  value="102"/>
</td>
<td>2</td>
<td>2</td>
<td>2</td>
</tr>
<tr>
<td>
<input type="checkbox" class = "chcktbl"  value="103"/>
</td>
<td>3</td>
<td>3</td>
<td>3</td>
</tr>
</tbody>
</table>
<input id="hidden" type="hidden" name="hidden">

$(document).ready(function(){
  $('#chckHead').click(function () {
    $(".chcktbl").prop('checked', $(this).prop("checked"));
  });  

  $(".chcktbl").change(function() {
  var values = [];
  $('.chcktbl').each(function (index, obj) {
  alert('pop');
    if (this.checked === true) {
      values.push($(this).val());
    }
  });
  });
  alert(values.toString());

});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-26 10:19:43

您忘记将复选框值分配给隐藏的input,而且还必须在标头复选框事件侦听器中这样做。

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function() {
  var hidden = $('#hidden');
  $('#chckHead').click(function() {
    var state = $(this).prop('checked');
    if(state === false) {
      hidden.val('');
    }
    var vals = [];
    $('.chcktbl').each(function() {
      $(this).prop('checked', state);
      if(this.checked === true) {
        vals.push($(this).val());
      }
    });
    hidden.val(vals.toString());
  });
  $(".chcktbl").change(function() {
    var values = [];
    $('.chcktbl').each(function(index, obj) {
      if(this.checked === true) {
        values.push($(this).val());
      }
    });
    hidden.val(values.toString());
  });
});
代码语言:javascript
运行
AI代码解释
复制
<table id="tbl" border="10">
  <thead>
    <tr>
      <td><input type="checkbox" id="chckHead" /></td>
      <td>First Row</td>
      <td>Second Row</td>
      <td>Third Row</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <input type="checkbox" class="chcktbl" value="101" />
      </td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" class="chcktbl" value="102" />
      </td>
      <td>2</td>
      <td>2</td>
      <td>2</td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" class="chcktbl" value="103" />
      </td>
      <td>3</td>
      <td>3</td>
      <td>3</td>
    </tr>
  </tbody>
</table>
<!--for the demo purpose, I changed the type of the input to 'text' to see the result, don't forget to change to 'hidden' again.-->
<input id="hidden" type="text" name="hidden">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

希望我把你推得更远了。

票数 0
EN

Stack Overflow用户

发布于 2018-08-26 10:32:24

您应该能够使用此选择器获得所有复选框:

代码语言:javascript
运行
AI代码解释
复制
$('input[type=checkbox]:checked')

然后,您可以调用map获取所有ids并加入它们。

代码语言:javascript
运行
AI代码解释
复制
string = $('input[type=checkbox]:checked').map(function(idx,element) {
    return element.value;
}).join(',')

然后,只需侦听所有复选框的onChange事件,并设置隐藏字段的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52028719

复制
相关文章
ssh免密码登录远程服务器
最简单的操作 ssh免密码登录的原理是把本地电脑的公钥放在宿主机,然后使用本地电脑的私钥去认证。 在本地电脑执行 /usr/bin/ssh-keygen -t rsa,安装提示一直回车即可,最后会看到~/.ssh目录下多了几个文件id_rsa (私钥) id_rsa.pub (公钥). 在本地电脑执行 scp ~/.ssh/id_rsa.pub user@remote_server:拷贝~/.ssh/id_rsa.pub到需要远程登录的服务器的家目录下。 使用密码登录远程服务器,执行mkdir -p ~/.
生信宝典
2018/02/05
8.2K0
使用SSH与github远程服务器进行无密码连接
在git操作窗口中运行: ssh-keygen -t rsa 一直回车连接,然后到~/.ssh目录下看到两个文件,用sublime打开这个文件如图,复制里面的密钥;
meihuasheng
2021/03/18
2K0
使用SSH与github远程服务器进行无密码连接
iterm2 SSH免密码远程连接服务器
在/usr/local/bin目录下新建iterm2login.sh文件,内容如下
geekfly
2022/05/06
1.6K0
腾讯云配置SSH免密码登录远程服务器
崔庆才
2017/03/09
115.9K2
脚本链接 ssh 自动输入密码
首先安装 expectexpectexpect,因为默认是没有安装这个的,UbuntuUbuntuUbuntu 系统可以直接通过 sudo apt−get install expectsudo\ apt-get\ install\ expectsudo apt−get install expect 来安装,然后写好 expectexpectexpect 脚本,假如说叫做 login−via−sshlogin-via-sshlogin−via−ssh,如果脚本没有参数的话,直接 expect login−via−sshexpect\ login-via-sshexpect login−via−ssh 就可以了,注意必须用 expectexpectexpect 来运行这个脚本,其他 shellshellshell 工具是无法解析这个脚本的。
f_zyj
2019/05/27
4.4K0
配置Linux无需密码使用SSH登陆远程服务器
两边的服务器,只需要用户名一样即可,不需要密码一样,也不需要uid/gid一样,不需要两个用户处在相同的用户组里。
用户8851537
2021/07/22
6K0
更改SSH远程登录密码及数据库密码
然后你去这个目录下看,没有这个目录/var/lib/mysql/mysql.sock
JaneYork
2023/10/11
6070
更改SSH远程登录密码及数据库密码
【SSH】使用SSH登录远程主机,并禁用密码登录
对远程主机进行登录管理,一方面可以简化日常频繁登录的密码和 ip 输入步骤,另一方面,也可以提高远程主机的安全性,避免远程主机被“黑客”轻易攻击。 也借此加强对 Linux 文件权限的认识和理解。
程序小工
2018/09/12
7.2K0
SSH远程连接服务器
2.点击图中加号输入目的IP然后在箭头2的方框中输入ssh username@IP:
OvO我是肉排菌呀
2020/05/17
8.6K0
Java SSH远程执行Shell脚本实现
代码如下 import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import ch.ethz.ssh2.StreamGobbler; public class SshCommandExec { public static void exec(String
jiewuyou
2022/09/29
8050
SSH连接远程服务器
ssh 到指定端口  ssh -p xx user@ip      xx 为 端口号    user为用户名   ip为要登陆的ip
week
2018/08/24
9.8K0
SSH连接远程服务器
linux远程登录ssh免密码配置方法
二、原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。
习惯说一说
2019/06/30
5K0
Ubuntu开启root用户ssh远程密码登录
ubuntu默认关闭root用户使用密码ssh远程登录 开启方法: 编辑配置文件/etc/ssh/sshd_config vi /etc/ssh/sshd_config 修改: # 找到并用#注释掉这行: # PermitRootLogin prohibit-password # 新建一行 添加: PermitRootLogin yes 重启服务 sudo service ssh restart End
流柯
2021/07/20
3.9K0
SSH无密码远程登录到Linux主机
SSH(Secure Shell),是专为远程登录会话和其他网络服务提供安全性的协议。
星哥玩云
2022/07/04
3.5K0
SSH无密码远程登录到Linux主机
服务器ssh免密码登录
$ ssh-copy-id 192.168.92.11 $ ssh-copy-id 192.168.92.12 $ ssh-copy-id 192.168.92.13
似水的流年
2019/12/13
5.9K0
如何在局域网外SSH远程访问连接到家里的树莓派?
在使用树莓派 (Raspberry Pi) 可以做的所有事情中,将其用作为家庭网络中的服务器非常流行。微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。
iOS Magician
2023/10/11
7261
如何在局域网外SSH远程访问连接到家里的树莓派?
pycharm 2017 专业版连接到远程服务器
1、tools > Deploymen > Browse Remote Host 2. 添加远程服务器(服务器要提前配置好 SFTP) 3. 查看远程服务器内容
卓越笔记
2023/02/18
1.2K0
pycharm 2017 专业版连接到远程服务器
NuGet 无法连接到远程服务器-解决方法
安装EF4.3的步骤是首先安装VS扩展 NuGet,然后再使用NuGet安装EF程序包
跟着阿笨一起玩NET
2018/09/19
8.5K0
NuGet 无法连接到远程服务器-解决方法
SSH通过SSH代理连接到内网机器
操作步骤: 1.实现本地机器到代理机器的SSH连接。 ssh ftpuser@proxyip
旺财的城堡
2018/11/20
2K0
如何使用SSH登录远程服务器
买了搬瓦工,有时候需要远程登录进行一些配置。这时候就需要SSH了。搬瓦工自带SSH服务端,因此这里只需要配置客户端就可以了。
乐百川
2022/05/05
5K0

相似问题

R树状图指定树状图中的RGB颜色

117

无法渲染树状结构的角度?

11

树状图中的簇标签

23

HAC:树状图中的儿童

12

树状图中连接的节点数

116
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文