2014-09-30 73 views
0

我的代碼是:jQuery的 - 使用.change即使在下拉列表中選擇篩選結果

$('select').change(function(){ 
$('.sep14, .oct14').hide(); 
    var userChoice = "'." + $('select').val() + "'"; 
    $(userChoice).show(); 
}); 

因此,當用戶改變下拉列表中選擇兩個div與這些類隱藏,然後變將userChoice存儲爲jquery可以識別的內容,然後使用.show()再次顯示。

由於某種原因,但這似乎並不奏效,任何人都知道爲什麼?

感謝

回答

0

您不必對var userChoice = "'." + $('select').val() + "'";

代碼使用'

$('select').change(function() { 
    $('.sep14, .oct14').hide(); 
    var userChoice = "." + $('select').val(); 
    $(userChoice).show(); 
}); 

Demo

此外,這是有點怪異的方式來實現自己在做什麼,請考慮使用data-屬性代替您可以使用值創建自定義屬性的位置,這是因爲HTML5一樣的完全有效的: -

$('select').change(function(){ 
    $('[data-toggler]').hide(); 
    $('[data-toggler=' + $(this).val() + ']').show(); 
}); 

Demo 2

+0

爲什麼不鞏固? '$('。'+ this.value).show()'? – PlantTheIdea 2014-09-30 21:37:52

+0

@PlantTheIdea正在進行重構演示,謝謝.. – 2014-09-30 21:38:58

相關問題