2012-08-14 70 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