日期:2014-05-16  浏览次数:20479 次

用js方法在文本框输入字符串然后下边的多行文本值根据输入的改变。
本帖最后由 yang3088850111he 于 2014-02-19 16:15:25 编辑
http://img.my.csdn.net/uploads/201402/19/1392796419_5697.jpg

如图(可以看回复1的那个图片),如果我在单行文本框中输入 张,则下边的多行文本框则出现 包含 张 这个字的字符串。 如果我取消了,还是保存原有的值。。请问下这个用JS 代码如何写啊?求大侠指教。。。
------解决方案--------------------
<input type="text" onkeyup="search(this.value)" /><br />
<textarea id="ta" rows="5" cols="50">张三
李四
小李子
王五
刘麻子</textarea>
<script>
    var ta, data;
    Array.prototype.filter = function (v) { var r = []; for (var i = 0, j = this.length; i < j; i++) if (this[i].indexOf(v) != -1) r.push(this[i]);  return r };
    window.onload = function () {
        ta = document.getElementById('ta');
        data = ta.value.replace(/\r/g,'').split('\n');
    }
    function search(v) {
        if (v == '') ta.value = data.join('\n');
        else ta.value = data.filter(v).join('\n');
    }
</script>