首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript 传参时把0101010这样的字符串给转换了数字型吗?解决方法

2012-05-01 
javascript 传参时把0101010这样的字符串给转换了数字型吗?JScript code $(#provinceList).change(funct

javascript 传参时把0101010这样的字符串给转换了数字型吗?

JScript code
 $('#provinceList').change(function(){                $('#cityList').children().eq(0).siblings().remove();        //根据选中的省份IdCode加载城市列表        $.ajax({                url:'/listAJAX.action',                data:{parentId:$(this).val()},                type:'POST',                dataType:'json',                success:function(data){                    var cityListhtml='';                    $('#test').children().remove();                    $.each(data.categoryList,function(key,val){                                              $("#test").append("<tr><td><input type='checkbox' id="+val.name+" name="+parseInt(val.id)+" value="+val.id+" onclick='tl("+parseInt(val.id)+")'/></td><td>"+val.name+"</td></tr>");// 添加输入的值到show末尾                                                                    });                                        //$('#test').append(cityListhtml);                }        });    });})function tl(id){   alert(id);}    <table  id="test" ></table>




 ajax 从后台获取一个list的集合类 里面有id 和name 属性

 注:id 值的范围是从01001010 这样 一共八位 不足补0的id值

  然后遍历给一个table里追加tr td 和checkbox 
  然后写了个 测试代码function tl(id){}那个、 

  弹出来的并不是01001010 这样的数字 而是9697697这样的数字

  我想从checkbox上 点击了就获取到该值、

  用了 String(val.id) 也不好使、
  
  FF debug 模式下 checkbox 里的tl("01001010") 是这样的 并没错、


  我测试的代码该如何修改才能得到 01001010 这样的呢?(个人觉得是不是javascript 把数字当传参的话、给转换了?)



[解决办法]
你用parseInt当然会解析成数字了
[解决办法]
... name="+parseInt(val.id)+" ....

你既然不需要转换为数字,你上面 用parseInt干什么?
为什么不直接name="+val.id+" ....
[解决办法]
。。。toString(8)是用8进制显示
你来个7干啥。。

你这样就控制传参就可以了
没必要转成Number再转回去。
[解决办法]
JScript code
$('#test').append('<td><input type="checkbox"  onclick="t(&quot;' + val.id + '&quot;)" id="' + val.id + '"  value="' + val.id + '"/></td><td>' + val.name + '</td>'); 

热点排行
Bad Request.