Javascript 通过单击“附加选定值”从数组中删除
Javascript 通过单击“附加选定值”从数组中删除,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,$(“#选择地产”).change(函数(){ var singleValues=$(“#选择遗产”).val(); if(estate.includes(singleValues)==false){ state.push(单值); $(“span.filter push select”).append(“”+singleValues+“”); 控制台.日志(遗产); } }); $(“.filter push select”)。在('单击','标签',函数()上{ var item=$(“#选
$(“#选择地产”).change(函数(){
var singleValues=$(“#选择遗产”).val();
if(estate.includes(singleValues)==false){
state.push(单值);
$(“span.filter push select”).append(“”+singleValues+“”);
控制台.日志(遗产);
}
});
$(“.filter push select”)。在('单击','标签',函数()上{
var item=$(“#选择遗产”).val();
var iterator=estate.keys();
for(让迭代器的键){
console.log(key);//预期输出:0 1 2
}
功能移除项目(不动产、项目){
对于(房地产中的风险值i){
if(遗产[i]==项目){
打破
}否则{
遗产(i,1);
}
}
}
搬迁项目(遗产、项目);
$(this.remove();
//屋![3](索引1);;
控制台.日志(遗产);
});代码>
房地产类型
所有权
租
我不太确定您想做什么,但请检查我下面的答案,看看它是否解决了问题
var estates=[]
$(“#选择地产”)。更改(函数(){
var singleValues=$(“#选择遗产”).val();
if(estates.includes(singleValues)==false){
房地产。推送(单一价值);
$(“span.filter push select”).append(“”+singleValues+“”);
控制台日志(不动产);
}
});
$(“.filter push select”)。在('单击','标签',函数()上{
var item=$(“#选择遗产”).val();
var iterator=estate.keys();
for(让迭代器的键){
console.log(key);//预期输出:0 1 2
}
功能移除项目(不动产、项目){
对于(房地产中的风险值i){
if(不动产[i]==项目){
"屋![3](i,1);;
}
}
}
移除项目(“所有权”,项目);
$(this.remove();
控制台日志(不动产);
});代码>
房地产类型
所有权
租
如果我正确回答了问题,那么这将解决问题。问题不在于拼接位,而在于单击标签元素时获得适当的文本值。(var item=$(this.text();
)
var estate=[];
$(“#选择地产”)。更改(函数(){
var singleValues=$(“#选择遗产”).val();
if(estate.includes(singleValues)==false){
state.push(单值);
$(“span.filter push select”).append(“”+singleValues+“”);
控制台.日志(遗产);
}
});
$(“.filter push select”)。在('单击','标签',函数()上{
var item=$(this.text();
var iterator=estate.keys();
for(让迭代器的键){
console.log(key);//预期输出:0 1 2
}
功能移除项目(不动产、项目){
let i=不动产指数(项目)
如果(i>-1){
遗产(i,1);
}
}
搬迁项目(遗产、项目);
$(this.remove();
//屋![3](索引1);;
控制台.日志(遗产);
});
如果创建JSFIDLE,最好回答它JSFIDLE不工作“未捕获引用错误:未定义状态”
。错误很明显。您将选择一个或多个值?多个值
var estate =[];
$("#select-estate").change(function() {
var singleValues = $("#select-estate").val();
if (estate.includes(singleValues) == false) {
estate.push(singleValues);
$("span.filter-push-select").append('<label class="active">' + singleValues + '<i class="fa fa-times fa-lg" aria-hidden="true"></i></label>');
console.log(estate);
}
});
$(".filter-push-select").on('click', 'label', function() {
var item = $(this).text();
var iterator = estate.keys();
for (let key of iterator) {
console.log(key); // expected output: 0 1 2
}
function removeItem(estate, item) {
let i = estate.indexOf(item)
if (i > -1) {
estate.splice(i, 1);
}
}
removeItem(estate, item);
$(this).remove();
//estate.splice(index, 1);
console.log(estate);
});