2012-10-22 176 views
5

我有以下challange。根據選定的值顯示字段

我有一個條目表格,人們可以添加一個新的條目,並在批准他們也可以編輯它。 挑戰在於隱藏基於選擇的特定字段。 當用戶添加一個新條目時,他們必須選擇一個特定的類別。基於此,一些領域是隱藏的。

這是我使用至今代碼:

<select name="entry.parent" size="1" style="width: 360px;" id="SPCatChooserSl" class="required"> 
<option value="">Selecteer categorie</option> 
<option selected="selected" value="55">- Option 1</option> 
<option value="59">- Option 2</option> 

</select> 

<div id="option1"> 
<p>Hier comes option 1</p> 
</div> 
<div id="option2"> 
<p>Here comes option 2</p> 
</div> 

<script> 
jQuery(function() { 
jQuery('#option1').hide(); 
jQuery('#option2').hide(); 
}); 

jQuery(function() { 
jQuery("#SPCatChooserSl").change(function() { 
    if (this.value == '55') { 
     jQuery('#option1').show(); 
    } else { 
     jQuery('#option1').hide(); 
    } 
    if (this.value == '59') { 
     jQuery('#option2').show(); 
    } else { 
     jQuery('#option2').hide(); 
    } 
    }); 
    }); 
    </script>  

這工作,當用戶仍然需要選擇一個類別。它根據選擇隱藏字段。

但是,當用戶編輯條目時,該類別已被選中並且可能不會被更改。因此,DIVS選項1和選項2是隱藏的,並且由於用戶沒有選擇一個類別,所以div永遠不可見。

所以問題是:如何檢查選擇列表中的特定值,顯示沒有使用的正確字段。

我希望我的問題/ challange顯然:)

在此先感謝!!!!!!!

回答

1

您可以更新的選項時,文件準備就緒:

jQuery(function() { 
jQuery('#option1').hide(); 
jQuery('#option2').hide(); 
}); 

function updateOption() { 
    jQuery('#option1').toggle(this.value == '55'); 
    jQuery('#option2').toggle(this.value == '59'); 
} 

jQuery(document).ready(function() { 
    jQuery("#SPCatChooserSl").each(updateOption); 
    jQuery("#SPCatChooserSl").change(updateOption); 
}); 

小提琴:http://jsfiddle.net/Mwnjk/

+0

這就像一個魅力非常感謝你的幫助,並快速回答! – user1737711