使用乘法组合框中的触发器显示或隐藏组件

时间:2011-04-27 14:52:29

标签: javascript jquery

我无法在乘法组合框中显示或隐藏组件,但我可以从原始组合框(第一个组合框)中显示或隐藏它 我该怎么办..?

这是乘以组合框

的功能
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>

任何人都可以帮助我。谢谢。

2 个答案:

答案 0 :(得分:0)

当您clone select框时,您需要告诉jQuery将事件与它一起克隆:

.clone(true);

答案 1 :(得分:0)

在页面加载后向DOM添加元素时,需要使用live()函数附加事件:

$("#employ").live("change", function() {
    ...
}