2012-08-14 64 views
0

我有以下jQuery代碼,顯示一個輸入框,如果選擇是。我的問題是,當我遇到錯誤時,下拉框的狀態會被記住是/否,但如果選擇了「是」,則不會顯示輸入框爲什麼?輸入框消失如果有錯誤

的jQuery:

$("#add_fields_placeholder").change(function() 
     { 
      if($(this).val() == "yes") 
     { 
      $('label[for="add_fields_placeholderValue"]').show(); 
      $("#add_fields_placeholderValue").show(); 
     } 
     else 
     { 

      $('label[for="add_fields_placeholderValue"]').hide(); 
      $("#add_fields_placeholderValue").hide(); 
     } 
      }); 

查看:

<label for="add_fields_placeholder">Placeholder: </label> 
<select name="add_fields_placeholder" id="add_fields_placeholder"> 
    <option value="">Please Select</option> 
    <option value="yes" <?php echo set_select('add_fields_placeholder','yes', (!empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE));?>>Yes</option> 
    <option value="no" <?php echo set_select('add_fields_placeholder','no', (!empty($placeholderType) && $placeholderType == "no" ? TRUE : FALSE));?>>No</option> 
</select> 

<label for="add_fields_placeholderValue">Placeholder Text: </label> 
<input type="text" name="add_fields_placeholderValue" id="add_fields_placeholderValue" value="<?php echo set_value('add_fields_placeholderValue'); ?>"> 
+1

因爲萬一出現錯誤下拉更改事件不會觸發 – rahul 2012-08-14 06:19:01

+0

爲什麼?因爲jQuery代碼僅在更改值時執行(例如,當您單擊「是」或「否」時),而不是在頁面(重新)加載時執行。 – Mischa 2012-08-14 06:19:04

回答

1

在一個錯誤的改變事件將不會開火的情況。嘗試處理onchange和頁面加載事件以使其正確。

+0

你可以用一個例子來解釋一下嗎?我可以通過我的PHP控制器關閉它嗎? – 2012-08-14 06:23:05