gpt4 book ai didi

带复选框 foreach 的 Jquery 辅助函数

转载 作者:行者123 更新时间:2023-12-01 04:00:21 26 4
gpt4 key购买 nike

我有一些复选框,我正在尝试使用 jquery 辅助函数获取它们的值。

<div class="checkbox">
<label>
<input name="gift_wrap" value="Wrap" type="checkbox"> Gift wrap
</label>
<label>
<input name="gift_wrap" value="Wrapper" type="checkbox"> Wrapper
</label>
<label>
<input name="gift_wrap" value="Pap" type="checkbox"> Pap
</label>
</div>

这是 Jquery:

_getContent: function (elm) {
if(elm.is(":checkbox, :radio")){
return elm.is(":checked") ? elm.map(function(){
return $(this).val()}) : '';
} else {
return elm.text();
}
return '';
}

它的名称是这样的:

_getProductDetails: function (elm) {
var mi = this;
var p = {};
elm.parents(this.options.productContainerSelector)
.find(this.options.productElementSelector)
.each(function() {
if ($(this).is('[name]') === true || typeof $(this).data('name') !== typeof undefined) {
var key = $(this).attr('name') ? $(this).attr('name') : $(this).data('name');
var val = mi._getContent($(this));
if(key && val){
p[key] = val;
}
}
});
return p;
}

我得到的是这个[object Object]而不是值。我不太擅长 Jquery,也不完全确定如何去做,我也尝试过 .each 但没有取得太大成功。

最佳答案

jQuery 的 .map() 方法返回函数结果的 jQuery 集合,而不是数组。您可以使用.get()将其转换为数组。

但似乎没有理由首先调用 .map() 。如果选中,则仅返回该元素的值。

_getContent: function (elm) {
if(elm.is(":checkbox, :radio")){
return elm.is(":checked") ? elm.val() : '';
} else {
return elm.text();
}
}

关于带复选框 foreach 的 Jquery 辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46696798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com