【问题标题】:Store the checked checkbox value and it's name in a two dimensional array将选中的复选框值及其名称存储在二维数组中
【发布时间】:2015-06-05 11:34:49
【问题描述】:

我想将选中的复选框值及其名称存储在二维数组中, 这是html代码。

<h3>Select your favorite sports:</h3>
<label>
    <input type="checkbox" value="football" name="football"> Football</label>
<label>
    <input type="checkbox" value="baseball" name="baseball"> Baseball</label>

而且我只能显示选中的复选框值,这里是 jQuery 代码

$(document).ready(function () {
    $("button").click(function () {
        var favorite = [];
        $.each($("input:checked"), function () {
            favorite.push($(this).val());
        });
        alert("My favourite sports are: " + favorite);
    });
});

我的问题是如何将两个值和它的名称存储在最喜欢的数组中?

【问题讨论】:

    标签: javascript jquery arrays


    【解决方案1】:

    您可以为此使用Array of objects

    favorite.push({
       name: $(this).attr('name'),
       value:$(this).val()
    });
    

    See it in action

    输出:

    [{
        "name": "football",
        "value": "football"
    }, {
        "name": "baseball",
        "value": "baseball"
    }]
    

    如果要显示值:

    $.each(favorite, function(index, obj){
       console.log("Name= "+ obj.name+"  Value="+ obj.value);
    })
    

    【讨论】:

    • 它返回对象,我如何为变量分配名称和值?
    • 它不会返回 Object 它将返回 Array 的对象。您可以轻松地在其中赋值。
    • 能否请您进一步澄清一下,我将如何分配给变量,我不知道,谢谢!
    • 告诉我你想给favorite分配什么值?
    • 我想这样显示,输出:checkbox name="here the checkbox name" and Its value is = "here It's value"
    【解决方案2】:

    使用对象数组

    $(document).ready(function () {
        $("button").click(function () {
            var favorite = [];
            $.each($("input:checked"), function () {
    
                // Add object in array
                favorite.push({
                    name: $(this).attr('name'),
                    value: $(this).val()
                });
            });
            console.log("My favourite sports are: ");
            console.log(favorite);
        });
    });
    

    【讨论】:

    • 我将如何将这些名称和值分配给变量?
    • window[$(this).attr('name')] = $(this).val()
    【解决方案3】:

    使用map()。翻译数组或对象中的所有项目

    var favorite= $("input:checked").map(function () {
        var obj = {};
        obj[$(this).attr('name')] = this.value;
        return obj;
    
    }).get();
    
    console.log(favorite)
    

    DEMO

    【讨论】:

    • @SadamAfridi 欢迎 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多