遍历数组并设置与数组值匹配的任何 html 输入的值
Loop through an array and set the value of any html inputs that match the array values
我正在尝试找到循环遍历字符串数组的最有效方法,然后单击与数组中找到的任何值相匹配的相应复选框输入。
我想出了以下可行的方法,但我认为可能有更有效的解决方案。任何人有任何提示可以帮助我清理它吗?
<script>
var comodArr = ['Gold','Copper'];
jQuery(document).ready(function() {
jQuery("#setfilters").click(function() {
<!-- Commodities -->
if(jQuery.inArray("Gold", comodArr) !== -1) {
jQuery('li[val="Gold"] input').click();
}
if(jQuery.inArray("Silver", comodArr) !== -1) {
jQuery('li[val="Silver"] input').click();
}
if(jQuery.inArray("Copper", comodArr) !== -1) {
jQuery('li[val="Copper"] input').click();
}
});
});
</script>
<a class="btn btn-primary" href="#" id="setfilters" style="display: inline-block;"><i class="fas fa-arrow-down"> </i> Set Filters</a>
在下面回答后更新了代码。好多了!
<script>
var fieldVals = ['Gold', 'Copper'];
var fieldValArr = fieldVals.split(', ');
jQuery(document).ready(function() {
jQuery("#setfilters").click(function() {
fieldValArr.forEach(fieldVal => jQuery("li[val='" + fieldVal + "'] input").click());
});
});
</script>
遍历数组。
comodArr.forEach(comod => jQuery(`li[val="${comod}"] input`).click());
顺便说一句,您不应该向元素添加 val
等非标准属性。如果您需要添加自己的属性,请使用 data-XXX
,例如data-val="Gold"
我正在尝试找到循环遍历字符串数组的最有效方法,然后单击与数组中找到的任何值相匹配的相应复选框输入。
我想出了以下可行的方法,但我认为可能有更有效的解决方案。任何人有任何提示可以帮助我清理它吗?
<script>
var comodArr = ['Gold','Copper'];
jQuery(document).ready(function() {
jQuery("#setfilters").click(function() {
<!-- Commodities -->
if(jQuery.inArray("Gold", comodArr) !== -1) {
jQuery('li[val="Gold"] input').click();
}
if(jQuery.inArray("Silver", comodArr) !== -1) {
jQuery('li[val="Silver"] input').click();
}
if(jQuery.inArray("Copper", comodArr) !== -1) {
jQuery('li[val="Copper"] input').click();
}
});
});
</script>
<a class="btn btn-primary" href="#" id="setfilters" style="display: inline-block;"><i class="fas fa-arrow-down"> </i> Set Filters</a>
在下面回答后更新了代码。好多了!
<script>
var fieldVals = ['Gold', 'Copper'];
var fieldValArr = fieldVals.split(', ');
jQuery(document).ready(function() {
jQuery("#setfilters").click(function() {
fieldValArr.forEach(fieldVal => jQuery("li[val='" + fieldVal + "'] input").click());
});
});
</script>
遍历数组。
comodArr.forEach(comod => jQuery(`li[val="${comod}"] input`).click());
顺便说一句,您不应该向元素添加 val
等非标准属性。如果您需要添加自己的属性,请使用 data-XXX
,例如data-val="Gold"