2014-06-17 31 views
0

我希望當我在下拉菜單中修改一個項目時,jquery更改由php腳本生成的html文件。 這是代碼:帶有jQuery功能的Html菜單

JQUERY

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#regioni').change(function() { 
      if ($(this).val() == 'Home') { 
       $('.classtesto').show(); 
       $('.classfile').hide(); 
       $('.classfoto').hide(); 
       $('.classlogo').hide(); 
       $('.classcategoria').hide(); 
      } 
      if ($(this).val() == 'Gallery') { 
       $('.classtesto').hide(); 
       $('.classfile').hide(); 
       $('.classfoto').show(); 
       $('.classlogo').show(); 
       $('.classcategoria').show(); 
      } 
      if ($(this).val() == 'News') { 
       $('.classtesto').show(); 
       $('.classfile').show(); 
       $('.classfoto').show(); 
       $('.classlogo').hide(); 
       $('.classcategoria').hide(); 
      } 
      if ($(this).val() == 'Risultati') { 
       $('.classtesto').show(); 
       $('.classfile').hide(); 
       $('.classfoto').show(); 
       $('.classlogo').hide(); 
       $('.classcategoria').show(); 
      } 
      if ($(this).val() == 'Sponsor') { 
       $('.classtesto').show(); 
       $('.classfile').hide(); 
       $('.classfoto').hide(); 
       $('.classlogo').show(); 
       $('.classcategoria').hide(); 
      } 
     }) 
    }); 
</script> 

HTML

  <select name="regione" id="regioni"> 
       <option value="">Selezionane una</option> 
       <?php foreach ($regioni as $regione): ?> 
        <option value="<?php htmlout($regione); ?>"<?php 
        if ($regione == $nome_regione) { 
         echo ' selected="selected"'; 
        } 
        ?>><?php htmlout($regione); ?></option> 
         <?php endforeach; ?> 
      </select> 

我有2個問題:

。當我點擊「選擇一個項目「該程序不起作用(它不隱藏標籤);

。當php代碼設置頁面的菜單項時,程序不起作用(它不會隱藏標籤)。

不幸的是沒有關於jQuery和JavaScript的專家,所以我找不到解決這個問題的相對簡單的方法。

回答

0
  1. 您需要一個IF語句來選擇「選擇一個」時。
  2. 您需要在完成從php加載選項後調用.change()。如果($(this).val()==''){012} {0}。 $('。classfile')。hide(); $('。classfoto')。hide(); $('。classlogo')。hide(); $('。classcategoria')。hide(); }

後選擇HTML代碼(確保它會下拉後):

$('#regioni').change(); 

而且,你必須觸發更改爲:

$('#regioni').on('change', function() { 

這裏是Fiddle

+0

1.如果我添加如果($(this).val()=='')它的作品,謝謝! 2.如果我添加... 的)腳本doesnìt工作... :( 1.Ok :) 2.No :( – user3212453

+0

確保.change(是SELCT之後我已經更新我的鏈接回答的jsfiddle(HTTP: //jsfiddle.net/PTyT7/) –

+0

我的代碼與你的代碼是一樣的,因爲它不起作用?:( – user3212453