【发布时间】:2016-12-04 04:06:43
【问题描述】:
我知道这个问题已经被问过很多次了,我已经找到了一些关于如何从复选框中获取text() 的答案,但是当我尝试仅从选中的复选框中获取文本时,我的代码出现了一些错误。
考虑这段代码:
$('input.choose-age').on('change', function() {
$('input.choose-age').not(this).prop('checked', false);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<label for='wom-10-14' class="checkbox-inline">
<input type="checkbox" id='wom-10-14' class='choose-age' checked />10-14
</label>
<label for='wom-15-19' class="checkbox-inline">
<input type="checkbox" id='wom-15-19' class='choose-age' />15-19
</label>
<label for='wom-10-19' class="checkbox-inline">
<input type="checkbox" id='wom-10-19' class='choose-age' />10-19
</label>
</div>
如果选中,我想从复选框中选择text(),并将其保存到var。我正在使用 d3.js 和 mapbox 运行 mapDraw 函数,所以如果选中了不同的复选框,我想更改指标。
我知道此示例返回文本,但不是我要查找的内容:
var ageLab = $('label[for=wom-10-14]').text();
这是我尝试过的:
1.
var ageLab = $('input:checkbox:checked').map(function() {
return $(this).prev('label.checkbox-inline').text();
}).get();
console.log(ageLab);
来源:example 1
返回:
Array[1]
0: ""
length: 1
2
var ageLab = $('.choose-age:checked').text(this.checked ? $(this).text() : '');
来源:example 2
但是,它不返回文本。
有没有更好的方法在选中时从复选框中获取text()。
提前致谢!
【问题讨论】:
标签: javascript jquery d3.js checkbox