Javascript 为什么选择框val(),它必须选择值
我有一个选择框,它有一个属性Javascript 为什么选择框val(),它必须选择值,javascript,jquery,Javascript,Jquery,我有一个选择框,它有一个属性class='check\u quantity' $('.check_quantity').each(function(){ quantities.push($(this).val()); }); 当我使用console.log时(数量) 它这样输出,为什么数组中有空值?在jquery中使用将值放入数组() 注意:。check_quantity有一些空值(无值),因此在这种情况下,您必须检查空值并返回 因为类为check\u quantity
class='check\u quantity'
$('.check_quantity').each(function(){
quantities.push($(this).val());
});
当我使用console.log时(数量)
它这样输出,为什么数组中有空值?在jquery中使用将值放入数组()
注意:。check_quantity
有一些空值(无值),因此在这种情况下,您必须检查空值并返回
因为类为
check\u quantity
的元素之一有空值或无值。其中一个元素为空,它可能是选择框中的任何内容。这就是它附加空值的原因。最好的调试方法是打印出所有元素用于调试和检查。这是如何回答问题的?不要使用.trim()
尝试使用$.trim()
未捕获类型错误:无法读取未定义的属性“trim”。为什么会出现这样的错误?@FelixKling你在我的帖子中看到了注释,我也为他提供了解决方案,@makenai:因为还不是每个浏览器都支持String#trim
。编辑:事实上,它们中的大多数都有:。也许你在用IE8?
["1", ""]
var quantities=$('.check_quantity').map(function(){
if ($.trim(this.value) != "") { // this.value.trim() != "" it is pure java script better to use this
return this.value;
}
}).get();