页面中的js代码:
function GetListbox() {
        var listbox = document.getElementById("<%=listbox.ClientID %>");
        var str = "";
        //遍历Listbox,取值
        if (listbox.options.length > 0) {
            for (var i = 0; i < listbox.options.length; i++) {
                var j = listbox.options[i].value;
                str += j + ","; //把Value值串起来
            }
        }
        alert(str);
        var hands = $("#txtvalue");
        hands.val(str);
    }js文件中的js代码
function GetListbox(listboxid, txtid) {
    var listbox = document.getElementById(listboxid);
    var str = "";
    //遍历Listbox,取值
    if (listbox.options.length > 0) {
        for (var i = 0; i < listbox.options.length; i++) {
            var j = listbox.options[i].value;
            str += j + ","; //把Value值串起来
        }
    }
    alert(str);
    var hands = $("#" + txtid);
    hands.val(str);
}
为什么我把页面中的js代码放到js文件中后   j 的值是object
listbox.options[i].value;  里面有值大家帮下忙呀!!!

解决方案 »

  1.   

    因为你用的是服务端控件,所以listboxid这个ID在客户端是找不到的。有2种方法,要么你在页面先找到这个控件,然后在js文件里再调用。要么你通过开发人员工具看下这个空间的ID是什么,然后你用那个ID就可以找到了
      

  2.   

    OnClientClick="return GetListbox('listbox','txtvalue');"我是在这里把ID传过去的呀     用工具看的id是listbox呀
      

  3.   

    你用的是服务端控件还是客户端控件呀?如果是客户端控件的话不用这样穿参数,直接在js文件里面写ID值就可以。如果是服务端控件的话,还是这个问题,你的ID不对。
      

  4.   

    服务器的     但listbox.options[i].value 已经取到值了啊   值也是对的啊   就是赋值后 j 的值变成了[object]
      

  5.   

    你有没有在js文件里声明过全局变量叫J的呀