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

发布于 2024-12-20 09:35:08 字数 473 浏览 0 评论 0原文

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

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

谢谢!

If I have a bunch of label/selects like:

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

How would I get the value of the selected item based off the label?

So far I have..

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

but inputVal isn't the value I expect to see. Instead I get either null/undefined. Am I missing something?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

傲鸠 2024-12-27 09:35:08

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

everything is fine, if you hav given close tag for label and select and options in select .check the code , i have modified and implemented.
http://jsfiddle.net/XaMg9/5/

迟月 2024-12-27 09:35:08

不确定您是否正在寻找类似的东西 测试

Not sure if you are looking for something like this TEST

泪眸﹌ 2024-12-27 09:35:08

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

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

One thing to note. You can use the selector $('label.myClass') instead of $('label[class="myClass"]'). It's just more standard. That said, if you want the value of each select contained within a label, do this.

$('label.myClass select').each(function(){
    var inputVal = $(this).val();
});
今天小雨转甜 2024-12-27 09:35:08

对于多项选择:

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

For multiple select:

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

兰花执着 2024-12-27 09:35:08

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

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

var inputId = checkbox.htmlFor

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

In my use case i was working with mdc(material design) and wanted to untick the checkbox whenever i reopen the checkbox after ticking and cancelling in previous operation.

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

var inputId = checkbox.htmlFor

var input = document.getElementById(inputId)
input.checked = false;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文