如何使用 JavaScript 从两个文本框中删除值

How to delete values from two textboxes by using JavaScript?

本文关键字:文本 两个 删除 JavaScript 何使用      更新时间:2023-09-26

我有三个文本框(多行),如果第二个文本框数据在第一个文本框中可用,这些数字将被删除。喜欢

t1:123456,12345678,9898998,4545454,
t2:123456,66666666

当我按下过滤器按钮时,第三个文本框数据将是

t3:12345678,9898998,4545454,

法典:

function GetDistinctElements(source, source1, target) {
    var input = source.value.trim().replace(/'s/g, '').split(',');
    var input1 = source1.value.trim().replace(/'s/g, '').split(',');
    input = input.filter(function (val) {
        return input1.indexOf(val) == -1;
    });
    var distinctArray = input.filter(function (item, pos) {
        return input.indexOf(item) == pos;  
    });
    target.value = distinctArray.join(',');
}

但是当我在数字后输入;时,它也会将;作为数字。

如果我输入逗号(,)或分号(;),它应该接受这些,并将执行过滤。

我会把它分解成一个数组,迭代,然后重新创建字符串。这避免了使用简单字符串替换来管理逗号的问题。代码如下:

var val1 = $("#1").val();
var val2 = $("#2").val();
var array1 = val1.split(",");
var array2 = val2.split(",");
var val3 = "";
var count = 0;
for (var i = 0; i < array1.length; i++) {
    if (!($.inArray(array1[i], array2) >= 0)){
        if (count > 0)
            val3 = val3 + ",";
        val3 = val3 + array1[i];
        count++;
    }
}
$("#3").val(val3);

这里有一个小提琴:http://jsfiddle.net/82etmett/1/

var input = source.value.trim().replace(/'s/g, '').replace(/;/g,',').split(',');

replace(/;/g,',')就是你错过的一切。