【问题标题】:How to get text() from checkbox if is checked?如果选中,如何从复选框中获取文本()?
【发布时间】: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.jsmapbox 运行 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


    【解决方案1】:

    复选框元素没有.text() 或文本属性,因为它们是空的。您可以获取它们的值(如果已定义),否则我们可以采用不同的方法。

    最近的

    var ageLab = $('input:checkbox:checked').map(function() {
      return $(this).closest('label.checkbox-inline').text();
    }).get();
    

    跨度

    <input type="checkbox" id='wom-10-14' class='choose-age' checked /> <span>10-14</span>
    
    var ageLab = $('input:checkbox:checked').map(function() {
      return $(this).next('span').text();
    }).get();
    

    注意:如果您只想选择一个,为什么不选择:radio 而不是:checkbox

    【讨论】:

    • 优秀。谢谢,@Praveen。 span 会好很多,:radio 也会是更好的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多