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

时间:2011-12-08 18:33:15

标签: jquery select for-loop label

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

<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。我错过了什么吗?

谢谢!

5 个答案:

答案 0 :(得分:3)

如果您为labelselect以及select中的选项提供了密切标记,那么一切都很好。检查代码,我已经修改并实施了。 http://jsfiddle.net/XaMg9/5/

答案 1 :(得分:1)

不确定您是否正在寻找类似TEST

的内容

答案 2 :(得分:1)

有一点需要注意。您可以使用选择器$('label.myClass')代替$('label[class="myClass"]')。它更标准。也就是说,如果您想要select中包含的每个label的值,请执行此操作。

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

答案 3 :(得分:1)

对于多个选择:

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

答案 4 :(得分:1)

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

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

var inputId = checkbox.html对于

var input = document.getElementById(inputId)
input.checked = false;