Jquery - 如何从标签中获取输入值

问题描述 投票:3回答:5

如果我有一堆标签/选择像:

<label for="blah" class="myClass">
<select id="blah" multiple="multiple" size="5">

如何根据标签获取所选项目的值?

到目前为止我有..

    $('label[class="myClass"]').each(function(){
        var labelTxt = $(this).text();
        var labelForTxt = $(this).attr('for');
        var inputVal = $('#'+labelForTxt).val();
    });

但inputVal不是我期望看到的值。相反,我得到null / undefined。我错过了什么吗?

谢谢!

jquery select for-loop label
5个回答
3
投票

一切都很好,如果你给labelselect的密切标签和select中的选项。检查代码,我已经修改和实现。 http://jsfiddle.net/XaMg9/5/


1
投票

不确定您是否正在寻找像这样的TEST


1
投票

有一点需要注意。您可以使用选择器$('label.myClass')而不是$('label[class="myClass"]')。它更标准。也就是说,如果你想要select中包含的每个label的值,那就这样做吧。

$('label.myClass select').each(function(){
    var inputVal = $(this).val();
});

1
投票

对于多个选择:

$("label.myClass select").change(function () {
          var inputval = "";
          $("select option:selected").each(function () {
                inputval += $(this).val() + " ";
              });
          $("div[id='content']").text(inputval);
        });
&ltdiv id='content'>&lt/div>


1
投票

在我的用例中,我正在使用mdc(材料设计),并且想要在我在之前的操作中勾选和取消之后重新打开复选框时取消勾选复选框。

var checkbox = document.querySelector("#checkbox-"+ $(this).val()+ "-label")

var inputId = checkbox.htmlFor

var input = document.getElementById(inputId)
input.checked = false;
© www.soinside.com 2019 - 2024. All rights reserved.