2012-01-10 58 views
1

嗨我想隱藏表單元素,除非選擇了特定的下拉值;這是我的代碼到目前爲止,但它不工作?隱藏選擇變化的表單元素

<script type="text/javascript"> 

    $(document).ready(function() { 
     $('txt_ccode').change(function() { 
      if ($(this).val() == 'GB') { 
       document.getElementById('txt_postcode').style.display="block"; 
      } 
      else {document.getElementById('txt_postcode').style.display="none"; } 

    }); 
}); 
</script> 

任何幫助表示讚賞

回答

1

現在你正在使用jQuery,內顯示和隱藏的邏輯和簡化這樣的:

<script type="text/javascript"> 

    $(document).ready(function() { 
     $('#txt_ccode').change(function() { 
      if ($(this).val() == 'GB') { 
       $('#txt_postcode').show(); 
      } else { 
       $('#txt_postcode').hide(); 
      } 
    }); 
}); 
</script> 
+0

什麼是數字我是!你所有的答案都是正確的!只有在我設法引用jquery後!不能相信我忘了包含jquery庫! – 2012-01-10 13:52:20

1

您應該指定爲什麼它不是工作。使用諸如Firebug之類的調試器會得到哪些錯誤消息。也許document.ready,或者更改函數永遠不會運行。或者價值不是你期望的。

此外,由於您正在使用jQuery最佳實踐來完全使用它。所以,而不是document.getElementById我會使用$('#txt_postcode')

3

而不是

$('txt_ccode') 

你可能要麼需要:

$('#txt_ccode') 

$('.txt_ccode') 

,具體取決於您所設置的元素的ID和/或類屬性。

此外,您可以重新編寫代碼,使其多一點簡潔:

$('#txt_ccode').change(function() { 
    $('#txt_postcode').toggle($(this).val() === 'GB'); 
}); 
0
$(function() { 
    $('select').on('change', function(e) { 
     var val = $('select option:selected').val() // get the value from a dropdown select 
     if(val == 'GB') 
     { 
      $('element').show() 
     } 
     else 
     { 
      $('element').hide() 
     } 
    }) 
});