2010-04-21 15 views
6

Ho un set di pulsanti di opzione. Quando è selezionato primario, il campo Società primaria è nascosto. Mi piacerebbe anche in questo momento cancellare la selezione a cascata. Come posso fare questo?Cancella selezione a discesa sul pulsante di opzione fai clic su

<p> 
     <label>Company Type:</label> 
     <label for="primary"><input onclick="javascript: $('#sec').hide('slow');" type="radio" runat="server" name="companyType" id="primary" checked />Primary</label> 
     <label for="secondary"><input onclick="javascript: $('#sec').show('slow');" type="radio" runat="server" name="companyType" id="secondary" />Secondary</label> 
     <div id="sec"> 
     <label for="primary_company">Primary Company:</label> 
      <%= Html.DropDownList("primary_company", Model.SelectPrimaryCompanies, "** Select Primary Company **") %> 
     </div> 

    </p> 

risposta

8

È possibile cancellare la selezione (cioè, selezionare la prima opzione) in questo modo:

$("#primary_company").find('option:first') 
        .attr('selected','selected'); 
+0

+1. ma perché '.parent ('select');' parte? Potresti semplicemente usare '.end()', giusto? –

+0

@David - faceva parte di una catena più lunga per servire a uno scopo malvagio. (Ho incollato troppo codice da una delle mie pagine di test), ma ora che lo fai notare, 'end' è meglio di' parent ('select') '. Grazie. – karim79

0

Per cancellare completamente la selezione (in modo che sia selezionata nemmeno il primo elemento) si potrebbe utilizzare :

$('#primary_company').attr('selectedIndex', '-1'); 

Se #primary_company è una casella di selezione multipla è possibile utilizzare:

$('#primary_company option').attr('selected', false); 
0
$("#primary_company").find('[selected]').removeAttr("selected"); 
4

È possibile passare null al metodo jQuery val() come un buon modo per cancellare un menu a discesa.

$('#primary_company').val(null); 
Problemi correlati