2010-09-29 96 views
0

我有一個選擇字段,顯示基於選定值的表單的不同元素,我有三個「類」,每個顯示字段的必需部分。我目前有選擇綁定到一個.click(),它工作正常,除了如果我想加載與預選值的頁面,它不會顯示所需的部分形式,因爲選擇字段實際上並沒有點擊。jQuery通過選擇字段顯示/隱藏元素

我環顧四周,我沒有看到一個事件,可以讓我根據選定的值顯示信息,但我不是專家,所以也許我只是誤解了一些功能。

這裏是我的HTML的相關部分:

<select name="class"> 
    <option value="vehicle" selected="selected">vehicle</option> 
    <option value="part">Part</option> 
    <option value="project">Project</option> 
    <option value="vehicle">Vehicle</option> 
</select><br /> 
<etc...> 

而且我目前的jQuery的切換:

$("select option[value='project']").click(function() { 
     $('div.part-show').show().hide(); 
     $('div.both-show').hide().show(); 
     $('div.vehicle-show').hide().show(); 
    }); 

非常感謝!

+1

你可以顯示整個腳本和標記嗎?說實話,你的代碼並不像現在這樣有意義。 – Thomas 2010-09-29 20:01:07

回答

1

我有一個類似的問題,我做了什麼來得到它的工作是我,我想預選對象上發了一個click事件(或在我的情況下,選擇事件)。

$('select option:first').click(); 

這應該激發關閉您的事件和隱藏/立刻顯示一切:

所以... jQuery代碼中你必須設置你的改變功能後,請執行以下操作。

另一個可行的方法是從顯示的某些HTML開始,根據默認選定值的內容進行隱藏(僅將其編碼到HTML中)。如果你打算有一個靜態的默認選擇值(AKA,它不是基於其他用戶輸入的動態),這將起作用。

1

您應該對select標籤使用change()事件。

$("select").change(function() { 
    if ($("select").val() == "project") { 
    $('div.part-show').show().hide(); 
    $('div.both-show').hide().show(); 
    $('div.vehicle-show').hide().show(); 
    } 
});