Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过单击“附加选定值”从数组中删除_Javascript_Jquery_Html_Arrays - Fatal编程技术网

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);
});