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

JS数组存取问题
HTML code

<input id="btn_tname" name="" type="text" value="" />
<input id="btn_submit" name="" type="button"  />




有这么个需求,当点击按钮的时候,把btn_tname的value存到数组中,每次存放前判断这个value是否已经包含在数组中了,如果包含在里边了就不存储,否则就存进数组里面去(追加),用JS或JQ实现,在线等待大虾解答...





------解决方案--------------------
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var ar = [];
window.onload = function() {
    document.getElementById('btn_submit').onclick = function() {
        var v = document.getElementById('btn_tname').value;
        if (v.length > 0) {
            var FLAG = false; //是否已存在标志
            for (var i = 0; i < ar.length; i ++) {
                if (ar[i] == v) {
                    FLAG = true;
                    break;
                }
            }
            if (!FLAG) ar.push(v);
        }
        alert(ar);
    }
}
</script>
</head>

<body>
<input id="btn_tname" name="" type="text" value="" />
<input id="btn_submit" name="" type="button" value="添加到数组"  />
</body>
</html>

------解决方案--------------------
HTML code

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>
    </head>
    <body>
        <input id="btn_tname" name="" type="text" value="" />
        <input id="btn_submit" name="" type="button"  />
        <script>
            function $(el){
                return typeof el == 'string' ? document.getElementById(el) : el;
            }
            Array.prototype.find = function(val){
                for(var i = 0, len = this.length; i < len; i++){
                    if( this[i] === val ){
                        return i;
                    }
                }
                return -1;
            } 
            
            var arr = [];
            $('btn_submit').onclick = function(){
                var s = $('btn_tname').value;
                if( s != '' && arr.find(s) == -1 ){
                    arr.push(s);
                }
                alert(arr)
            }
            
        </script>
    </body>
</html>

------解决方案--------------------
JScript code


$(function(){
var arr=new Array();
$("#btn_tname").click(function(){
    var val=$(this).val();
    for(var i=0;i<arr.length;i++)
    {
        if(arr[i]==val)
            break;
     }
     arr.push(val);
})
})