2016-04-06 6 views
0

Ich habe ein Problem bei der Auswahl der Dropdown-erste Wert nach der Auswahl es zum ersten Mal. Wenn die Dropdown-Optionen ausgewählt werden, wird standardmäßig der erste Wert ausgewählt, von dem ich den ersten Wert nicht auswählen kann. Ich benutze JQuery mobile Framework und ich schreibe benutzerdefinierte JS, um das Dropdown zu ändern. Ich muss dieses Dropdown nur mit benutzerdefinierten JS handhaben und kann das Dropdown nicht mit dieser benutzerdefinierten Logik arbeiten, wegen eines anderen Problems mit meinem Projekt.JQuery Mobile benutzerdefinierte Drop-down-Problem

Hier erster Wert im Bezug als ‚US‘ aus Dropdown

Die Lösung für dieses Problem wäre wirklich zu schätzen. Danke im Voraus.

HTML:

<select id="drpDwn"> 
    <option value="" disabled="disabled">select</option> 
    <option value="US">US</option> 
    <option value="AU">AU</option> 
    <option value="NZ">NZ</option> 
</select> 

JS:

$(document).on('change', '#drpDwn', function() { 
var index = $(this)[0].selectedIndex; 
$(this).attr('selectedIndex', index); 
$(this).find('option').removeAttr('selected'); 
$(this).find('option').eq(index).attr('selected', 'selected'); 
$(this).siblings('span').html($(this).find('option').eq(index).text()); 
}); 

http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.css

+0

Ich verstehe die Frage nicht, möchten Sie beibehalten, welche Option zuvor ausgewählt wurde? Oder, sobald eine Option ausgewählt ist, möchten Sie, dass sie deaktiviert ist? –

+0

@JeramiahHarland .... Erstmals kann ich aus dem Dropdown-Menü US auswählen, aber wenn ich zu einem anderen Wert wie NZ oder AU wechsle, Wenn ich den ersten Wert wie US auswählen möchte, wird er nicht ausgewählt – Manju

Antwort

0

Schauen Sie sich diese JSFiddle

Der Unterschied Maker wurde modifiziert:

$(this).find('option').removeAttr('selected'); 

In:

$(this).find('option:not(:selected)').removeAttr('selected'); 

Wenn ‚Veränderung‘ ausgelöst wurde, wird das ausgewählte Attribut auf die neue Option hinzugefügt, so dass Sie es weg von allem Strippen wurden auch die neue Auswahl. Deshalb hat sich die Option nie geändert.

Mit : nicht (: ausgewählt) kam dann praktisch, da es nur das Attribut von Dingen wegziehen wird, die nicht die aktuell ausgewählte Option waren.