我有一个带复选框的时间表:
<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();
});
});
当我选中复选框并单击按钮时,复选框的“值”将动态输入到<span>
,但我想显示复选框的“名称”而不是“值”,
如果我选中复选框,<span>
将显示“周一,周二,周三,周四”等,而不是“1,2,3,4”......
如何修复我的代码?
答案 0 :(得分:4)
所以使用:
values.push(this.name); // or $(this).attr('name')
答案 1 :(得分:1)
当您推进$(this).val()
阵列时,您只需将$(this).prop('name'))
的引用更改为values
。
请参阅我的小提琴示例:JSFiddle
答案 2 :(得分:-1)
尝试替换
$(this).val()
带
$(this).attr('value')