Javascript 如何使用Jquery遍历选择器的选项
我有一个非常大的项目,并将我的选择范围缩小到:Javascript 如何使用Jquery遍历选择器的选项,javascript,jquery,Javascript,Jquery,我有一个非常大的项目,并将我的选择范围缩小到: //The $component is found from various other vars using .find to this point var $selector = $Component.find('[class="multiselect-container"]'); 我尝试使用.each函数来迭代所有的值及其字符串。在过去的一个多小时里,我尝试了一些不同的方法,但都没有效果 选择器有多个标记 每个选项都包含,其中包含,其中包含
//The $component is found from various other vars using .find to this point
var $selector = $Component.find('[class="multiselect-container"]');
我尝试使用.each函数来迭代所有的值及其字符串。在过去的一个多小时里,我尝试了一些不同的方法,但都没有效果
选择器有多个
标记
每个选项都包含
,其中包含
,其中包含
和“10”
我需要得到值和字符串(因为它们有时是不同的)。如果我能做到这一点,我相信将每组数据放入2d数组应该很容易
我试过阅读其他关于此的问题,但没有任何解释如何使用。一旦找到要迭代的元素,每个问题都会出现。类似的问题似乎应该可以解决:
var array = [];
$selector.find("label.radio").each(function() {
var value = $(this).find("input:radio").val();
var string = $(this).text();
array.push({ string: string, value: value });
});
顺便说一句,不要在选择器中使用
[class=classname]
,请使用.classname
。如果元素有多个类,而您只想匹配其中一个类,那么选择器将无法工作,它将尝试按字面意思匹配整个类属性。类似这样的内容似乎应该可以工作:
var array = [];
$selector.find("label.radio").each(function() {
var value = $(this).find("input:radio").val();
var string = $(this).text();
array.push({ string: string, value: value });
});
顺便说一句,不要在选择器中使用[class=classname]
,请使用.classname
。如果元素有多个类,而您只想匹配其中一个,那么选择器将无法工作,它将尝试按字面意思匹配整个类属性。1,因为您有类名,所以请改为使用$(“.multiselect container”)查询该类名
您可以从子dom元素中检索值。只需抓取内部文本或标签文本
$Component.find('.multiselect-container').each(function(){
var value = $("input", this).val();
var label = $("label", this).text();
var text = input.innerText;
// text and label might be the same value
});
或者您可以将其过滤到选中的单选按钮
$Component.find('.multiselect-container input[type=radio]:checked').each(function(){
var value = this.value;
var label = $(this).closest("label").text();
// var li = $(this).closest("li")
// same as above
});
首先,因为您有类名,所以改为使用$(“.multiselect container”)查询该类名
您可以从子dom元素中检索值。只需抓取内部文本或标签文本
$Component.find('.multiselect-container').each(function(){
var value = $("input", this).val();
var label = $("label", this).text();
var text = input.innerText;
// text and label might be the same value
});
或者您可以将其过滤到选中的单选按钮
$Component.find('.multiselect-container input[type=radio]:checked').each(function(){
var value = this.value;
var label = $(this).closest("label").text();
// var li = $(this).closest("li")
// same as above
});
最好显示您的HTML,而不是试图用文字描述它。您还应该显示您尝试的代码,而不仅仅是说“我正在尝试使用.each函数”。如果你不显示代码,我们如何解释你做错了什么,让你从错误中吸取教训?最好显示你的HTML,而不是试图用文字来描述它。你还应该显示你尝试的代码,而不仅仅是说“我正在尝试使用.each函数”。如果您不显示代码,我们如何解释您做错了什么,以便您从错误中吸取教训?谢谢您的帮助。这正是我要找的。希望这能帮助有类似问题的人解决。你应该像我上面说的那样澄清这个问题,这样他们就会知道他们的设置是否有问题。谢谢你的帮助。这正是我要找的。希望这能帮助一些人解决类似的问题。你应该像我上面说的那样澄清这个问题,这样他们就会知道他们的设置是否有问题。