从多重组合框显示或隐藏带有触发器的组件

问题描述

| 我无法从多重组合框中显示或隐藏组件,但可以从原始组合框(第一个组合框)显示或隐藏组件 我该怎么办..? 这是将组合框相乘的功能
function addEmploy() {}
    $(\'#addEmploy\').click(function(){
        $(\'#comboEmploy\')
        .append(\'<br />\')
        .append($(\'#comboEmploy select\').first().clone());
    });
这是显示或隐藏组件的脚本
$(\"#employ\").change(function() {
        if($(this).val() == \"2\"){
            $(\"#comboStudy\").show(\"slow\");
        }else{
            $(\"#comboStudy\").hide(\"slow\");
        }
    });
这是组合框
<span id=\"comboEmploy\">
                <select name=\"employ[]\" id=\"employ\">
                    <option value=\"NULL\" selected >Choose one</option>
                    <?PHP foreach ($employs as $employ) :?>
                        <option value=\"<?PHP echo $employ->employ_id; ?>\">
                        <?PHP echo $employ->employ_name; ?></option>
                    <?PHP endforeach; ?>
                </select>
            </span>
<a href=\"#\" id=\"addEmploy\">Add Employ</a>
这是我要显示/隐藏的组件
<span id=\"comboStudy\">
            <select name=\"study[]\" id=\"study\">
                <option selected value=NULL>Choose one</option>
                <?PHP foreach ($studies as $study) :?>
                        <option value=\"<?PHP echo $study->study_id; ?>\">
                        <?PHP echo $study->study_name; ?></option>
                <?PHP endforeach; ?>
            </select>
            </span>
谁能帮我。之前感谢。     

解决方法

克隆
select
框时,您需要告诉jQuery一起克隆事件:
.clone(true);
    ,在页面加载后将元素追加到DOM时,您需要使用live()函数来附加其事件:
$(\"#employ\").live(\"change\",function() {
    ...
}