我想编辑输入字段的值!要详细说明,我想从输入中删除定义为数组的文本: 所以如果我有例如:
<input value="hello what is your">
和这个数组:
var arr = ["hello","is"];
我想将输入值更改为:
<input value="what your">
我应该如何开始?谢谢http://jsfiddle.net/rRXAG/
答案 0 :(得分:1)
我应该如何开始?
1)迭代 - 由于您已经使用了jQuery,请尝试 $.each
。
2) string.indexOf()
- 如果不存在则返回-1
var arr = ["hello","is"];
$.each(arr, function (i, j) {
var inTxt = $('input').val();
if (inTxt.indexOf(j) != -1) {
$('input').val(inTxt.replace(j, ''));
}
});});
答案 1 :(得分:1)
假设值是以空格分隔的单词,您可以这样做:
1)将值存储到地图中
var map = {};
for (var i in arr) map[arr[i]] = true;
2)从输入中获取值(它是一个字符串)并过滤它
var inputVal = $('input').first().val();
var newValue = inputVal.split(" ").filter(function(x) {
return !map[x];
}).join(" ");
// Set new value
$('input').first().val(newValue);
答案 2 :(得分:1)
var val=document.getElementById("yourid").value;
for(var i=0;i<arr.length;i++){
val.replace(arr[i],"")
}
document.getElementById("yourid").value=val;
答案 3 :(得分:1)
这个正则表达式完成了这项工作:
$('input').first().val().replace(new RegExp(arr.join('|'), 'g'), '');