从jquery的一个checktree中取值
jquery返回的值是这样的:
aaa,bbb,ccc,ddd
但是我想把他重新组合成:
aaa
bbb
ccc
ddd
因为客户的在获取值的页面定死了要这样去获取
'checkList'为页面中的checkbox<script language="javascript">
function ok()
{
    var phones=document.getElementsByName('checkList');
    var flag=false;
    var obj=new Array();
var num=0;

for(i=0;i<phones.length;i++)
{
if(phones[i].checked)
{
obj[num]=phones[i].value;
flag=true;
num++;
}
}
if(flag)
{
window.returnValue = obj;
window.close();
}
else
{
alert("你还未勾选!");
}
}
</script>

解决方案 »

  1.   


    <script language="javascript">
    function ok()
    {
           var phones=document.getElementsByName('checkList');
           var flag=false;
           var obj=new Array();
        var num=0;
        
        for(i=0;i<phones.length;i++)
        {
            if(phones[i].checked)
            {    
                obj[num]=phones[i].value;
                flag=true;
                num++;
            }
        }
        if(flag)
        {
            window.returnValue = obj.join("\n");
            window.close();
        }
        else
        {
            alert("你还未勾选!");
        }
    }
    </script>
      

  2.   

         window.returnValue = obj.join("\n");
    这个肯定不对
    replace函数不知道js有没,这么用
      

  3.   

    问题的关键在于:
    var phones=document.getElementsByName('checkList');jquery传递进来值的时候,phones只有一个值:“aaa,bbb,ccc,ddd"
    而不是
    <input name="checkList" type="checkbox" id="checkList" value=aaa >
    <input name="checkList" type="checkbox" id="checkList" value=bbb >
    <input name="checkList" type="checkbox" id="checkList" value=ccc >
    <input name="checkList" type="checkbox" id="checkList" value=ddd >
      

  4.   

    phones = phones.replace(/,/g, '\n')
      

  5.   

    报错<script language="javascript">
    function ok()
    {
        var phones=document.getElementsByName('checkList');
    phones = phones.replace(/,/g, '\n')
        var flag=false;
        var obj=new Array();
    var num=0;

    for(i=0;i<phones.length;i++)
    {
    if(phones[i].checked)
    {
    obj[num]=phones[i];
    flag=true;
    num++;
    }
    }
    if(flag)
    {
    window.returnValue = obj;
    window.close();
    }
    else
    {
    alert("你还未勾选!");
    }
    }
    </script>
      

  6.   

    window.returnValue = obj.join("\n"); 1楼的方法你试了没
    试了在说 对不对
      

  7.   

    试过了。
    问题的关键在于: 
    var phones=document.getElementsByName('checkList'); jquery传递进来值的时候,phones只有一个值:“aaa,bbb,ccc,ddd" 
    而不是 
    <input name="checkList" type="checkbox" id="checkList" value=aaa > 
    <input name="checkList" type="checkbox" id="checkList" value=bbb > 
    <input name="checkList" type="checkbox" id="checkList" value=ccc > 
    <input name="checkList" type="checkbox" id="checkList" value=ddd >