2017-07-07 6 views
0

Ich habe ein Select-Eingabefeld in HTML-Seite. In einem If-Block sollte eine Bedingung funktionieren.Ausgewählte Option zu keinen Wert funktioniert nicht

<select id='selectopt'> 
    <option value="">Select<option> 
    <option value="1">1<option> 
</select> 


<input type="text" id='text1'> 



if($('#text1').val==='name'){ 
    $("#selectopt option[value='']").attr('selected', true); 
} 
else{ 
} 

, wenn ich diesen Zustand nach innen setzen, wenn seine Arbeits in Chrom und IE aber funktioniert nicht in Firefox ..

+2

warum brauchen Sie die js, wenn Sie tun können, '

+0

@guradio diesen Code in einigen Event-Handler ist sein kann? –

+0

@SureshAtta vielleicht, es sei denn, OP gibt zusätzliche Informationen. wir können nur raten. – guradio

Antwort

1

Verwenden .prop() statt .attr()

prop()

Ruft den Wert einer Eigenschaft für das erste Element in t ab Die Menge der übereinstimmenden Elemente oder die Festlegung einer oder mehrerer Eigenschaften für jedes angepasste Element.

$("#selectopt option[value='']").prop('selected', true); 
0

Sie ein jQuery-Objekt gegen einen String Vergleich

$('#text1') === 'name' 

Sie Vielleicht Möchten Sie den Wert dieses Objekts vergleichen?

$('#text1').val() === 'name' 

Sie könnten auch vereinfachen die Drop-Down-Wert Einstellung durch.

$ ("# selectopt") val ("")

0
  1. Spiel der, wenn die Bedingung mit dem Wert $('#text1').val().trim()=== 'name'
  2. und HTML-Syntax falsch war </option> Tag nicht schließen
  3. Versuchen mit prop() statt attr()

if ($('#text1').val().trim()=== 'name') { 
 
    $("#selectopt option:empty").prop('selected', true); 
 
} else {}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id='selectopt'> 
 
    <option value="">Select<option> 
 
    <option value="1">1<option> 
 
</select> 
 

 

 
<input type="text" id='text1' value="name">

Verwandte Themen