Javascript 保留ids并添加一个动态编号(行号)以保持其唯一性 如果使用jQuery,则默认情况下使用它。不要混淆jQuery(func1())和JSDOM方法(displayFeatureList)

Javascript 保留ids并添加一个动态编号(行号)以保持其唯一性 如果使用jQuery,则默认情况下使用它。不要混淆jQuery(func1())和JSDOM方法(displayFeatureList),javascript,jquery,html,Javascript,Jquery,Html,我将您的代码缩减为以下内容(为了更好地理解,我对整个JS代码进行了注释): $(document).ready(函数(){//在页面加载完成时运行 $(“.regionTypeCell”).each(函数(){//对于每个regionTypeCell类(父div,在您的示例中可能是表单元格) $(this).find(“.drop regr”).change(函数(事件){//set onChange函数,用于包含drop regr类 var conditionalDropdown=$(thi

我将您的代码缩减为以下内容(为了更好地理解,我对整个JS代码进行了注释):

$(document).ready(函数(){//在页面加载完成时运行
$(“.regionTypeCell”).each(函数(){//对于每个regionTypeCell类(父div,在您的示例中可能是表单元格)
$(this).find(“.drop regr”).change(函数(事件){//set onChange函数,用于包含drop regr类
var conditionalDropdown=$(this).find(“.cl ftr”);//获取条件下拉列表元素
if($(this).find(“.drop regr”).val()==3){//如果所选索引等于3
conditionalDropdown.show();//显示下拉列表
}否则{
conditionalDropdown.hide();//隐藏下拉列表
}
}.bind($(this));//将其绑定到内部函数
});
})

-----挑选-----
ips
理智
特征
一层楼
地上二层
F3
F4
-----挑选-----
ips
理智
特征
一层楼
地上二层
F3
F4

您的onChange事件
displayFeatureList()
注册到了错误的元素。它是为父级
div
设置的,而不是
select
您的onChange事件
displayFeatureList()
注册到错误的元素。它是为父级
div
而不是
select设置的
<div class = "cl-regr" id="div-regr">
        <select name = "regr" id="drop-regr">
                                    <option selected="selected" disabled>-----Select-----</option>
                                    <option value = "1"> ips </option>
                                    <option value = "2"> ips sanity </option>
                                    <option value = "3"> Features </option>

                            </select>
        </div>

         <div class = "cl-ftr" id="div-ftr" onchange="displayFeatureList()">
                  <select name = "ftr" class = "cl2" id="drop-ftr">
                         <option value = "f1"> F1 </option>
                         <option value = "f2"> F2 </option>
                         <option value = "f3"> F3 </option>
                         <option value = "f4"> F4 </option>
                 </select>
         </div>
function func1(){
        $(".cl-ftr").each(function() {
                var that  = $(this);
                that.find("div.cl2").style.visibility="hidden";
        });
};

function displayFeatureList(){

        var d_obj = document.getElementById("drop_reg").value;
        var op = d_obj.options[d_obj.selectedIndex].value;
        if (op == 3){
                document.getElementById("drop_ftr").style.visibility = 'visible';
        }
        else{
                document.getElementById("drop_ftr").style.visibility = 'hidden';
        }

};
<body onload="func1()">