Jquery - 如何从标签获取输入值
如果我有一堆标签/选择,例如:
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
一切都很好,如果您为
label
和select
提供了关闭标记以及select
中的选项。检查代码,我已经修改并实现了。http://jsfiddle.net/XaMg9/5/
everything is fine, if you hav given close tag for
label
andselect
and options inselect
.check the code , i have modified and implemented.http://jsfiddle.net/XaMg9/5/
不确定您是否正在寻找类似的东西 测试
Not sure if you are looking for something like this TEST
有一点需要注意。您可以使用选择器
$('label.myClass')
代替$('label[class="myClass"]')
。只是更标准而已。也就是说,如果您希望每个select
的值包含在label
中,请执行此操作。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 eachselect
contained within alabel
, do this.对于多项选择:
For multiple select:
在我的用例中,我正在使用 mdc(材料设计),并且希望在之前的操作中勾选并取消后重新打开复选框时取消勾选该复选框。
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.