我正在尝试解析这个复选框值数组并删除" N"。
使用replace函数会产生错误 TypeError:numberArr [i] .replace不是函数,如果删除replace函数,脚本只输出 NaN 为了我的价值观。
在此处http://jsfiddle.net/j0w5tkg9/3/
<div id='opts'>
<input type="checkbox" data-cost="0" value="44N12345" name="options[]">
<input type="checkbox" data-cost="0" value="55N6789" name="options[]">
</div>
<div id='output'></div>
function getAllocArray() {
var numberArr = $.map($('input:checkbox:checked'), function (e, i) {
return +e.value;
});
var varOutput = '<ul>';
for (var i = 0, len = numberArr.length; i < len; i++) {
varOutput += "<li>" + numberArr[i].replace(/N/,'') + "</li>";
}
varOutput += '</ul>';
$('#output').text(varOutput);
};
$('#opts').on('click', 'input:checkbox', null, getAllocArray);
答案 0 :(得分:2)
请勿将值转换为Number
。将+e.value
替换为e.value
:
var numberArr = $.map($('input:checkbox:checked'), function (e, i) {
return e.value;
});
数字没有replace
方法。