jQuery 获取选中复选框的标签

标签 jquery html checkbox

在我下面的代码中,当我检查“Mexico”时,我不断得到“MexicoMexico”作为标签文本返回。对于所有其他字段,我没有得到这个重复的结果,它只适用于这个字段。这个问题在第一次分配 countryvalues[i] 之后立即发生,我不明白为什么。

<div id="country">
....
   <li><input type="checkbox" name="country" value="mexico" class="checkbox">
   <label for="mexico">Mexico</label></input></li>
</div>

countryvalues = $('#country input:checkbox:checked').map(function() {
    return this.value;
}).get(); 
for (var i=0; i<countryvalues.length; i++)
    {
        countryvalues[i] = $("label[for='" + countryvalues[i] + "']").text();
        countryvalues[i] = countryvalues[i].split(' ').join('%20');
        fields = fields + "coveraa!";
        url = url + countryvalues[i] + "!";
    }

最佳答案

Sarina,我只能建议您尝试获取您在 .map() 中查找的字符串回调而不是用 for(...){...} 再次循环.

var countryvalues = $('#country input:checkbox:checked').map(function() {
    return $(this).next("label").text().split(' ').join('%20');
}).get();

确保清除 HTML 中所有 </input> 的实例并且输入元素是自闭的,<input ... /> .

关于jQuery 获取选中复选框的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15871997/

相关文章:

jquery - 单击 Owl Carousel 中的图像后,如何在 Bootstrap 模式中打开确切的图像?

html - IMG 在 PC 上水平居中,但在手机上不居中 - 媒体查询

jquery - 页面重新加载后移动复选框列表中的复选标记 - 仅限 Firefox

javascript - 我应该如何防止 HTML 将用户输入的文本解释为实体?

jquery - twitter bootstrap 使用工具提示来遵守 html5

javascript - jqGrid如何向列添加多个复选框

asp.net - 我怎样才能强制用户至少选择一个复选框,并从客户端 JavaScript 回发?

javascript - 如何使用热键检查 jquery 中的单选按钮

javascript - jQuery/Javascript 中的 sum Floatnumber 输出错误

asp.net - ASP.NET Web 表单中的 jQuery 验证插件