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

show or hide component with a trigger from multiplied combo box

本文关键字:组合 触发器 组件 重组 隐藏 显示      更新时间:2023-09-26

我不能在一个组合框中显示或隐藏一个组件,但我可以在一个原始的组合框(第一个组合框)中显示或隐藏它我该怎么办?

这个函数用于叠置组合框

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() {
    ...
}