2011-04-27 62 views
1

我無法顯示或隱藏組合框中的某個組件,但我可以從原始組合框(第一個組合框)顯示或隱藏它 應該怎樣我做..?使用複合組合框中的觸發器顯示或隱藏組件

這是函數乘以組合框

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> 

任何人都可以幫助我。以前感謝。

回答

0

當你cloneselect中,你需要告訴jQuery的克隆事件與它一起:

.clone(true); 
+0

謝謝它的工作... – 2011-04-27 15:08:13

0

由於要附加頁面加載後元素的DOM,你需要使用live()功能附加他們的活動:

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