首页 > 解决方案 > JQuery:如何获取输入复选框的名称?

问题描述

我的 html 页面中有很多输入复选框。每个复选框输入都“链接”到输入文本。

我尝试编写一个函数来查找选中的复选框,并且在选中时应该将“链接”文本设置为 NULL(并且在返回时应该获得初始值)。

所以我需要循环不同的复选框输入来获取名称、值等......

下面,开始代码...

$(document).ready(function() {

    var chkbox = '';
    const obj = {
        bra_00A_act: 1,
        bra_00A_lib: 'Polyvitamines et oligo-éléments',
        bra_00B_act: 0,
        bra_00B_lib: 'Polyvitamines et oligo-éléments',
        bra_00C_act: 1,
        bra_00C_lib: 'Hydroxychloroquine'
    };
    $.each(obj, function(index, val) 
    {
        if(index.substr(8,3) == 'act'){
            if(val == 1){
                chkbox +='<input type="checkbox" checked="checked" class="checkbox" id="'+index+'" name="'+index+'" value="'+val+'">'
            } else {
                chkbox +='<input type="checkbox" class="checkbox" id="'+index+'" name="'+index+'" value="'+val+'">'
            }           
        } else {
            chkbox +='<span>'+val.substr(0,4)+'... '+'</span>'
        }

    });

    $("input[type=checkbox]").change(function() {
      if(this.checked) {
        // allow user to enter data in the linked input text
      }else if(!this.checked) {
        // set the 'linked' input text with NULL 
        // value should be registered to be recovered if user checked again
      }
    });
});

标签: jquery

解决方案


在 jQuery 选择器中传递“this”(类似于 $(this))并尝试使用“attr”方法(函数)访问所需的属性

HTML中的'checked'属性也是布尔值,你必须传递true或false


推荐阅读