<script language="javascript">
function changeselect(locationid)
{
var tt=','+@+',';
var ttt=','+locationid+',';
alert(tt.indexOf(ttt));
}
</script>@是程序从数据库取出的值,类似:1,2,3,4,5这样,拼接成,1,2,3,4,5,这样的字符串,输出过,没问题
locationid是下拉传递上来的整数,拼接成,1,这样的字符串,输出过,也没问题但是indexOf的值总是为-1
是怎么回事呢?

解决方案 »

  1.   

    你调用changeselect的地方给我看看~
      

  2.   

    alert(tt);
    alert(ttt);
    看看是什么
      

  3.   

    var str='1,2,3,5,';
    var locationid='3';
    alert(str.indexOf(locationid));
      

  4.   

    看不就window.alert()   一个一个打印出来看下撒   
      

  5.   


    var tt = ",1,2,3,4,5,6,7,";
    var ttt = ",3,";
    alert(tt.indexOf(ttt));这段代码 是不有问题的 只能从你代码中的两个字符串入手 也许是不包括 或者你的哪个串里多写敢空格 把你调这个函数的地方发出来看看吧
      

  6.   

    先打印一下字符是否拼接成功,然后去除空格(用split比较好),最后再比较。
      

  7.   

    你那是一个数组 用strinfo.indexOf(datas.split(',')[0])>0