Stephen_Xier 2016-05-27 15:49 采纳率: 0%
浏览 1130

JS是怎么样解释代码的,有个好奇怪的问题为什么函数执行了,却没有结果

图片说明

html中,有一组Select,先用JS动态每个select添加option,再想用JS来设置默认值,却不能正确实现

我是想实现每个select默认值都是5

JS代码

 <select name="a_state" id="a_state1">

</select>
<select name="a_state" id="a_state2">

</select>
<select name="a_state" id="a_state3">

    $("select[name='a_state']").each(function () {
        var selectid = $(this).attr("id").toString();
         var list=['1','2','3','4','5','6'];
        var indexlist=['1','2','3','4','5','6'];
        initSelect('a_state1', list, indexlist);
        initSelect('a_state2', list, indexlist);
        initSelect('a_state3',list, indexlist);
        var n = parseInt(selectid.replace("a_state", ""));
        var id = "states" + n;

        $('#' + selectid + ' ' + "option").each(function () {
            var values = $(this).val();

            if (values == "5") {
                $(this).attr("selected", true);
            }
        })

    })

//创建select
    function initSelect(selectid, list, indexlist) {
        var cmbArea = document.getElementById(selectid);
        clearSelect(selectid);
        for (var i = 0; i < list.length; i++) {
            cmbAddOption(cmbArea, list[i], indexlist[i]);
        }
        //cmbSelect(selectid, defaultSelected);
    }

    //选择Select Opetion
    function cmbSelect(selectid, str) {
        var cmb = document.getElementById(selectid);
        for (var i = 0; i < cmb.options.length; i++) {
            if (cmb.options[i].value == str) {
                cmb.selectedIndex = i;
                return;
            }
        }
    }

    //添加Select Option
    function cmbAddOption(cmb, str, index) {
        var option = document.createElement("OPTION");
        cmb.options.add(option);
        option.innerHTML = str;
        option.value = index;
    }

    //清理select信息
    function clearSelect(selectid) {
        $("#" + selectid).empty();
    }

断点调试的时候能显示出预想的结果,但浏览器报错“too much recursion”

  • 写回答

2条回答 默认 最新

  • 毕小宝 博客专家认证 2016-05-27 21:51
    关注

    递归太多了,检查下代码自调用的部分是不是有不妥之处。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?