javascript - Javascript数组推送不向已定义的数组添加值
问题描述
对不起这个幼稚的问题,我被困在这里
我从服务器加载我的过滤器数组
var filters=["Color","Size","Quantity","Ram","Weight","Genre","Stock","Buypacks"];
现在这是我添加新过滤器时的功能,我的目标是在上面的数组中添加新的过滤器值:
function addfilter() {
var formData = new FormData($("#myform2")[0]);
var adfilter = $('#filter').val();
var xhr = new XMLHttpRequest();
xhr.open('POST', 'performfilterserver.php', true);
xhr.onload = function() {
if (xhr.status === 200) {
alert(xhr.responseText);
if (xhr.responseText.trim() == "filter added") {
if (!(filters.includes(adfilter))) {
filters.push(adfilter); //this never works
$('#filter').val("");
}
}
} else {
alert('An error occurred!');
}
};
// Send data
xhr.send(formData);
}
下面是对应的html:
<form id="myform2" method="post" enctype="multipart/form-data">
<div class="add_filters">
</select>
<label style="font-size:20px;"><b>Add filters:</b></label>
<input type="text" name="filter" id="filter" placeholder="Enter Here" style="border-style:solid;height:30px;" />
<label>Is this only required once while uploading?</label>
<input name="imagetf" type="checkbox" value="image" />
<button name="add_filter" type="button" onclick="addfilter()">ADD filter</button>
</br>
</br>
</div>
</form>
任何帮助将不胜感激
编辑:我通过其他功能在选项中显示过滤器值,但它显示了原始数组:
$.each(filters, function(key, value) {
var $option = $("<option/>", {
value: value,
text: value
});
$sel.append($option);
});
解决方案
推荐阅读
- python - 有没有办法在 django 中添加 Q 对象?
- performance - 操作系统会减慢程序的执行速度吗?
- python - 根据最后 4 个字符从两个列表中返回匹配字符串
- ruby - Bundler 找不到 gem "globalize" 的兼容版本:
- redirect - 同站点内容安全策略
- python - 如果它们相似,如何通过元素而不是索引在熊猫系列中进行切片
- firebase - FLUTTER 个人资料图片在用户离开页面时消失
- authentication - 使用一个用户数据库对 2 个不同的基于云 (aws/gcp) 中的用户进行身份验证,并且只验证一次
- aws-cdk - 如何通过 AWS CDK 使用“域名”引用 ACM 证书
- javascript - 在类型脚本/角火中三个点是什么意思