作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些复选框,我正在尝试使用 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/
我是一名优秀的程序员,十分优秀!