2012-10-22 14 views
5

Mam następujące wyzwanie.Pokaż pola w oparciu o wybraną wartość

Mam formularz zgłoszenia, w którym osoby mogą dodać nowy wpis, a po zatwierdzeniu mogą go również edytować. Wyzwaniem jest ukrycie określonych pól na podstawie zaznaczenia. Gdy użytkownik dodaje nowy wpis, musi wybrać określoną kategorię. na tej podstawie niektóre pola są ukryte.

Jest to kod, który używam do tej pory:

<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>  

To działa, gdy użytkownik nadal musi wybrać kategorię. Ukrywa pola w oparciu o wybór.

Jednak gdy użytkownik edytuje wpis, kategoria jest już wybrana i prawdopodobnie nie zostanie zmieniona. Z tego powodu opcje DIVS1 i Option2 są ukryte, a ponieważ użytkownik nie wybiera kategorii, elementy div nigdy nie będą widoczne.

Pytanie brzmi: Jak mogę sprawdzić konkretną wartość na liście wyboru, wyświetlić poprawne pola bez reakcji użytkownika.

Mam nadzieję, że moje pytanie/challange jest jasne :)

góry dziękuję !!!!!!!

Odpowiedz

1

można zaktualizować opcje, gdy dokument będzie gotowy:

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); 
}); 

Fiddle: http://jsfiddle.net/Mwnjk/

+0

To działa jak czar Dziękuję bardzo za pomoc i szybką odpowiedź !! – user1737711

Powiązane problemy