Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 - Fatal编程技术网

如何使用javascript删除和添加表中的值

如何使用javascript删除和添加表中的值,javascript,jquery,html,Javascript,Jquery,Html,在我的场景中,只需选择列表框选项,这些值和文本将附加到表行中,但我面临一些小问题,用户不允许选择相同的选项(已选择的选项),用户不允许在表中附加相同的值。。如果用户选择相同的选项,则会显示类似“您已被选中,请选择另一个选项”这样的警报消息 但是现在,如果我删除任何行并添加回相同的值,它将显示“其匹配”警报,如果我删除并添加回相同的值到表中,我不需要 这里全是小提琴 这里的示例代码 //小表 //现有供应商下拉更改功能-用于新方法 美元(“#激励支持”)。关于(“更改”,函数(){ 如果(!c

在我的场景中,只需选择列表框选项,这些值和文本将附加到表行中,但我面临一些小问题,用户不允许选择相同的选项(已选择的选项),用户不允许在表中附加相同的值。。如果用户选择相同的选项,则会显示类似“您已被选中,请选择另一个选项”这样的警报消息

但是现在,如果我删除任何行并添加回相同的值,它将显示“其匹配”警报,如果我删除并添加回相同的值到表中,我不需要

这里全是小提琴

这里的示例代码

//小表
//现有供应商下拉更改功能-用于新方法
美元(“#激励支持”)。关于(“更改”,函数(){
如果(!check()){
$(“.indexDrop”).hide();
var newText=$(“#激励支持选项:选定”).text();
var newValue=$(“#激励支持选项:选定”).val();
log(newText,“尚未删除”);
log(newValue,“尚未删除”);
//删除按钮
$(“table.order list”)。在(“click”、“.ibtnDel”函数上(\u事件){
var$row=$(this).closest(“tr”);//查找该行
var$text=$row.find(“.newStyle1”).val(“”);//查找文本
var$secTd=$row.find(“.newStyle2”).val(“”);
$(this).tr.remove();
});
$(“#字母表体”)。附加('x');
$(“#字母表tr”)。每个(功能(i){
变量计数=(i)-1;
//警报(计数);
如果(i==0)返回;
var input1=$(this.find('.newStyle1');
var input2=$(this.find('.newStyle2');
//身份证
//下拉列表增量
input1.eq(0).attr(“id”,“sm_supp”+count);//文本字段
输入2.eq(0.attr)(“id”、“sm\U代码”+计数);
input1.eq(0).attr(“名称”、“请求方[“+count+”].pname”);//文本字段
输入2.eq(0).attr(“名称”、“请求方[“+count+”].pacd”);
});
}
});
/*比较两个字段,不允许选择第二次选择的选项*/
var-temp=[];
函数检查(){
var listVal=$('#excist_supp').val();
var tableVal=$('.newStyle2').val();
var nawTab=JSON.stringify(tableVal);
如果(温度包括(列表值)){
警报('匹配!');
$(“.notify”).addClass(“活动”);
$(“#notifyType”).addClass(“失败”);
setTimeout(函数(){
$(“.notify”).removeClass(“活动”);
$(“#notifyType”).removeClass(“失败”);
}, 3000);
返回true;
}否则{
//警报('不匹配!');
温度推送(listVal)
返回false;
}
}

选择现有供应商
科马尔
兰吉特
维沙尔
高拉夫
丹帕特
乔
高丽
香卡
丹帕特
供应商名称
供应商代码
行动

就像我在评论中说的那样。delete函数运行一个检查,查看它是否已经存在于表中,并将它们存储到名为
temp
的变量中。您需要在delete函数中删除此变量中已删除的行,否则它会认为它始终存在,因此您的问题

  if(temp.includes($row.find(".newStyle2").val())){
      temp = temp.filter(v => v != $row.find(".newStyle2").val())
  }
//小表
//现有供应商下拉更改功能-用于新方法
var-temp=[];
美元(“#激励支持”)。关于(“更改”,函数(){
如果(!check()){
$(“.indexDrop”).hide();
var newText=$(“#激励支持选项:选定”).text();
var newValue=$(“#激励支持选项:选定”).val();
log(newText,“尚未删除”);
log(newValue,“尚未删除”);
//删除按钮
$(“table.order list”)。在(“click”、“.ibtnDel”函数上(\u事件){
var$row=$(this).closest(“tr”);//查找该行
var$text=$row.find(“.newStyle1”).val(“”);//查找文本
if(临时包含($row.find(“.newStyle2”).val()){
temp=temp.filter(v=>v!=$row.find(“.newStyle2”).val())
} 
var$secTd=$row.find(“.newStyle2”).val(“”);
$(this).tr.remove();
删除新文本;
删除新值;
log(newText,“值已删除”);
log(newValue,“value deleted”);
});
$(“#字母表体”)。附加('x');
$(“#字母表tr”)。每个(功能(i){
变量计数=(i)-1;
//警报(计数);
如果(i==0)返回;
var input1=$(this.find('.newStyle1');
var input2=$(this.find('.newStyle2');
//身份证
//下拉列表增量
input1.eq(0).attr(“id”,“sm_supp”+count);//文本字段
输入2.eq(0).attr(“id”,“sm_代码”+计数);
input1.eq(0).attr(“名称”、“请求方[“+count+”].pname”);//文本字段
输入2.eq(0).attr(“名称”、“请求方[“+count+”].pacd”);
});
}
});
/*比较两个字段,不允许选择第二次选择的选项*/
函数检查(){
var listVal=$('#excist_supp').val();
var tableVal=$('.newStyle2').val();
var nawTab=JSON.stringify(tableVal);
如果(温度包括(列表值)){
警报('匹配!');
$(“.notify”).addClass(“活动”);
$(“#notifyType”).addClass(“失败”);
setTimeout(函数(){
$(“.notify”).removeClass(“活动”);
$(“#notifyType”).removeClass(“失败”);
}, 3000);
返回true;
}否则{
//警报('不匹配!');
温度推送(listVal)
返回false;
}
}

选择现有供应商
科马尔
兰吉特
维沙尔
高拉夫
丹帕特
乔
高丽
香卡
丹帕特