首页 > js函数动态向fieledset中添加radio(单选框)的问题。

js函数动态向fieledset中添加radio(单选框)的问题。

js函数动态向fieledset中添加radio(单选框),以下称这个函数是Foo()。
第一次执行foo的时候,生成radio的数量不对,调试的时候循环执行了3次,而只生成了一个radio。下一次执行的时候就可以正常出现3个了。
使用jquery mobile框架。

附源代码:

    function generateCheckbox ()
    {
            var usercount = parseInt(localStorage.getItem('usercount'));
            var placer = document.getElementById('checkboxplacer');
            for (var i =0;i<usercount;i++)
            {
                var e = document.createElement("input");
                e.type ='radio';
                e.name='paidname';
                e.value=fetchValue('user'+i.toString());
                e.id = 'user'+i.toString();
                placer.appendChild(e);
                var a = document.createElement('label');
                a.innerHTML = fetchValue('user'+i.toString());
                a.for = 'user'+i.toString();
                placer.appendChild(a);
                
            }
            
    }

根据你提供的信息和相关的代码, 没有出现你说的循环了三次, 但只出来一个 radio 的情况.
建议你在 var usercount = parseInt(localStorage.getItem('usercount')); 这一行后面, 加个 alert(usercount); 来确认你读取到的数值具体是多少.

附代码:

    <div id="checkboxplacer"></div>
  <script type="text/javascript">

    generateCheckbox();

    function generateCheckbox ()
    {
            //var usercount = parseInt(localStorage.getItem('usercount'));
            var usercount = 3;//循环三次
            var placer = document.getElementById('checkboxplacer');
            for (var i =0;i<usercount;i++)
            {
                var e = document.createElement("input");
                e.type ='radio';
                e.name='paidname';
                e.value=fetchValue('user'+i.toString());
                e.id = 'user'+i.toString();
                placer.appendChild(e);
                var a = document.createElement('label');
                a.innerHTML = fetchValue('user'+i.toString());
                a.for = 'user'+i.toString();
                placer.appendChild(a);
                
            }
            
    }

    function fetchValue(v){
        return v;
    }

  </script>

能复现吗?
我觉得可能是localStorage.getItem('usercount')这步有问题。

【热门文章】
【热门文章】