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
我有时间 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