2011-07-22 165 views
0

即時通訊和即時通訊有點卡住了我的代碼。選擇類別

我有一個數組中的類別,即時將它們列在一個下拉框中。

我想這樣做,每種類別都有不同的形式。像電影一樣,電影形式的音樂有一種音樂形式。

<script> 
$('document').ready(function() { 


    $('.valami').change(function() { 
     $('select.valami option:selected').each(function() { 
      var data = $(this).text(); 

       switch(data) { 
        case 'Film': 
         alert('Film'); 
        break; 

        case 'Sorozat': 
         alert('Sorozat'); 
        break; 

        case 'Zene': 
         alert('Zene'); 
        break; 

        case 'XXX': 
         alert('XXX'); 
        break; 

        case 'Játék': 
         alert('Játék'); 
        break; 

        case 'Program': 
         alert('Program'); 
        break; 

        case 'Könyv': 
         alert('Könyv'); 
        break; 

        default: 'Film';     
       } 

     });//each 
    });//change 

    });//ready 

</script> 

這裏是代碼,與我只是測試,如果它的作品。

我的問題是,如果選擇了一個類別,窗體會滑下來,但是如果我選擇另一個之前選擇的不會隱藏的選項。

我tryed這樣

if($('.film').is(':hidden')) { 
$('.film').show(); 
}else { 
    $('.film').hide(); 
} 

它的工作,但如果我選擇它在那裏停留一個諾特爾categorie,有人可以給我一個提示缺少什麼即時通訊?

謝謝

HTML

<select name='kategoriak' class='valami'> 
    <?php foreach ($kategoria as $k) { ?> 

    <option value="<?php echo $k['id'] ?>"><?php echo $k['nev'] ?></option> 

    <?php } ?> 
</select> 


<div class='film'>teh form here</div> 

的其他形式,如薄膜,其定義爲CSS

+0

你可以發表你的HTML嗎? – noShowP

+0

是否會有超過一個選項被選中? – noShowP

回答

1

這是我會怎麼做,我想它,你想要什麼,我已經改變了你的代碼一點點,讓我知道如果你需要不同的看法。

我已經使用靜態HTML來向你展示它的工作方式。

HTML

<select name='kategoriak' class='valami'> 
    <option value="film">Film</option> 
    <option value="sorozat">Sorozat</option> 
    <option value="zene">Zene</option> 
</select> 


<div class="form" id='film'>teh form here</div> 
<div class="form" id='sorozat'>ANOTHER form here</div> 
<div class="form" id='zene'>AND ANOTHER form here</div> 

CSS

<style> 
    div.form { 
     display: none; 
    } 
</style> 

的JavaScript

<script> 
$('document').ready(function() { 
    $('.valami').change(function() { 
     id = $('select.valami option:selected').val(); 

     $('div.form').hide(); 
     $('div#' + id).show(); 
    }); 
}); 
</script> 
0

顯示none如果我理解正確你的問題,你需要隱藏所有其他類別。你有沒有看過:not() selector?例如

if($('.film').is(':hidden')) { 
$('.film').show(); 
$('div:not(.film)').hide(); 
} 
+0

恩,不,例如我選擇電影,窗體滑落,但如果我選擇一個nother,例如zene silm幻燈片和Zene顯示 – Side