如果勾选了复选框,请执行此操作,取消选中此项

时间:2012-09-06 11:08:23

标签: jquery

我在勾选/取消勾选复选框时遇到了一些麻烦。

我目前正在使用jquery vs 1.4

问题:

我有一个复选框列表,其中的ID是由PHP循环生成的。

  • tickbox 1 id = checkthis_1
  • tickbox 2 id = checkthis_2
  • tickbox 3 id = checkthis_3

当我勾选一个复选框时,我想获取该复选框的ID(1,2或3)并将其添加到隐藏字段。如果同一个复选框未被取消,我想从隐藏字段中删除它的ID。

我勾选复选框3,数字3进入我的隐藏字段。当我取消选中复选框3时,数字3将从隐藏字段中删除。

有人可以帮忙吗?

提前致谢

2 个答案:

答案 0 :(得分:4)

每次单击一个复选框时,请通过所有选中的复选框并连接它们的ID ..

$(document).ready(function() {

    $('input[type=checkbox]').click(function() {

        var result = '';

        $('input[type=checkbox]:checked').each(function() {
            result += $(this).attr('id') + ';'
        });

        $('#your-hidden-field-id').val(result);

    });

});​

DEMO

使用map方法执行此操作的另一种方法:

$('#your-hidden-field-id').val($('input[type=checkbox]:checked').map(function() {
    return $(this).attr('id');
}).get().join(';'));

答案 1 :(得分:1)

使用id为相同的复选框...

 $("input#same").click(function () {
                  if ($("input#same").is(':checked')) {
                      // Checked, copy values
                      Your Hide Code

                  }
                  else {
                      // On uncheck
                      Other stuff

                  }
              });

基本上就是