jQuery 显示 "name" 而不是 "value"

jQuery shows "name" instead of "value"

我有时间 table 使用复选框:

<table id="date">
    <tr>
        <th>Sun</th>
        <th>Mon</th>
        <th>Tue</th>
        <th>Wed</th>
        <th>Thu</th>
        <th>Fri</th>
        <th>Sat</th>
    </tr>
    <tr>
        <td><input type="checkbox" name="Sun" id="sun" value="0" /></td>
        <td><input type="checkbox" name="Mon" id="mon" value="1" /></td>
        <td><input type="checkbox" name="Tue" id="tue" value="2" /></td>
        <td><input type="checkbox" name="Wed" id="wed" value="3" /></td>
        <td><input type="checkbox" name="Thu" id="thu" value="4" /></td>
        <td><input type="checkbox" name="Fri" id="fir" value="5" /></td>
        <td><input type="checkbox" name="Sat" id="sat" value="6" /></td>
    </tr>
</table>
<p><span id="dateValue"></span></p>
<button id="dateSave">Add</button>

和 jquery 部分:

$(function() {
    function dateValue() {
        var values = [];
        $('#date :checked').each(function () {
            values.push($(this).val());
        });

        $('#dateValue').text(values);
    }

    $(function () {
        $('#dateSave').click(dateValue);
            $('#dateValue').text(values);
    });

    $(function () {
        $('#dateDate input').click(dateValue);
            dateValue();
    });

});

当我 select 复选框并单击按钮时,复选框的 "value" 将动态输入到 <span>,但我想显示复选框的 "name" 而不是 "value", 如果我 select 复选框,<span> 将显示 "Mon,Tue,Wed,Thu"...等,而不是“1,2,3,4”... 如何修复我的代码?

所以使用:

values.push(this.name); // or $(this).attr('name')

尝试替换

$(this).val() 

$(this).attr('value')

您所要做的就是在推入 values 数组时将对 $(this).val() 的引用改为请求 $(this).prop('name'))

参见我的 fiddle 示例:JSFiddle